zoukankan      html  css  js  c++  java
  • 今天打的单链表代码还有点小问题待修改

    #include<stdio.h>
    #include<stdlib.h>
    typedef int ElemType;
    struct Node{

    ElemType data;
    struct Node *next;

    };
    typedef struct Node SLink;
    SLink *creatNode(){

    SLink *node=(SLink*)malloc(sizeof(SLink));
    //创建头结点
    node->next=NULL;
    //指针置空
    return node;
    }
    //创建链表
    SLink *init1(){
    return creatNode();
    }
    //打印链表
    void print(SLink *list){
    SLink *p=list->next;
    int m=1;
    printf("链表打印结果如下: ");
    if(list->next==NULL){
    printf("链表为空");
    return;
    }
    while(list->next!=NULL){
    printf("第%d个数为%d ",m++,p->data);
    p=p->next;
    }

    }
    //输入链表
    void creatdata(SLink *list){
    SLink *p=list;
    int n,m=1;
    printf("请输入第%d个数(输入-1以停止输入) ",m);

    while(scanf("%d",&n),n!=-1){
    SLink *node=creatNode();
    node->data=n;
    p->next=node;
    p=p->next;
    m++;
    }
    p->next=NULL;

    }
    //在头位置插入
    void intofront(SLink *list){
    SLink *p=list->next;
    int n;
    printf("输入你想插入的数字:");
    SLink *node=creatNode();
    scanf("%d",&n);
    node->data=n;
    list->next=node;
    node->next=p;

    }
    int main(){
    SLink *list=init1();//创建链表
    while(true){
    printf("1.创建链表 2.在头位置插入 3.打印 ");
    int n;
    printf("请输入操作序号: ");
    scanf("%d",&n);
    switch(n)
    {
    case 1: creatdata(list); break;//输入链表
    case 2: intofront(list); break;//在头位置插入
    case 3: print(list); break;//打印
    }
    }
    }

  • 相关阅读:
    02Hibernate入门
    01Hibernate概述
    ExtJS布局-Layout
    STARLIMS 安装升级解决方案
    Windows Server 2012 安装.Net Framework 3.5
    vim 复制操作
    linux下挂载新硬盘
    转载 更改mysql 数据存储路径
    转载 阿里云centOS防火墙配置
    (转载)java线程
  • 原文地址:https://www.cnblogs.com/longlonglonglong/p/10792700.html
Copyright © 2011-2022 走看看