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;//打印
    }
    }
    }

  • 相关阅读:
    Python列表去重
    hash表长度优化证明
    DDD初学指南
    继承和实现的明显区别
    微信商户支付
    centos7+mono4+jexus5.6.2安装过程中的遇到的问题
    SVN:重命名文件之后不允许提交
    SpringMVC 自定义全局日期转换器
    解决Cannot change version of project facet Dynamic web module to 2.5
    Maven项目热部署到Tomcat容器下
  • 原文地址:https://www.cnblogs.com/longlonglonglong/p/10792700.html
Copyright © 2011-2022 走看看