陌湘萘 2015-12-21 10:43 采纳率: 50%
浏览 3080
已采纳

C++链表(我写的程序自己也看不懂)

建立一个10结点的单向链表,每个结点包括学号,姓名,性别,年龄,对其进行排序,采用插入排序法,按学号从小到大排序。
(我链表没听懂,基础概念讲讲也好~)

  • 写回答

10条回答 默认 最新

  • 普通网友 2015-12-22 02:12
    关注

    以下是创建链表的代码,c语言结构体实现:(不带头结点,一级指针实现,当然可以多级指针实现,也可以带头结点,也可以是循环链表,也可以是
    双向循环链表)
    #include
    #include
    //链表结构体定义
    typedef struct _NODE
    {
    int data;
    struct _NODE *next;
    }Node, *List;

    //创建链表
    List CreateList()
    {
    Node head = NULL, *p1 = NULL, *p2 = NULL;
    p1 = p2 = (Node
    )malloc(sizeof(Node));

                while(1 == scanf("%d", &p1->data))
                {
                                if(NULL == head)
                                {
                                            p1->next = NULL;
                                            head  = p1;
                                }
                                else
                                {
                                            p2->next = p1;
                                            p2 = p1;
                                }
                                p1 = (Node*)malloc(sizeof(Node));
                }
                free(p1);
                p1 = NULL;
                p2->next = NULL;
                /*注意这里 若果是 p2->next = p1; 那么就成为了一个单向循环链表*/
                return head;
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码