首页 > 其他 > 详细

无表头单链表的总结----动态建立链表

时间:2016-12-24 01:51:00      阅读:136      评论:0      收藏:0      [点我收藏+]
 1 #include "head.h"
 2 struct Student *creat()
 3 {
 4     struct Student *head, *p1, *p2;// 先开辟三个结构体指针,*head,(作为返回的头指针)
 5     p1 = p2 =(struct Student *) malloc(LEN);
 6     scanf_s("%s %f", p1->num, N, &p1->score);//先读取输入的信息,据读入的信息进行判断
 7     head = NULL;  //    先使得头指针指向空指针
 8     n = 0;      //用来计数多少个链表里的成员
 9     while (strcmp(p1->num, "0") != 0)  //根据读入的信息,“0”为输入终止标号,如果不为
10 //0,则进行链表增加操作
11     {
12         ++n;   //不终止,说明要增加一位成员
13         if (n == 1) head = p1;  //先把开始开辟的地址赋给头指针,因为接下来p1会后移,
14 //没有头指针信息
15         else p2->next = p1;    //p1分两种情况,当n=1,p1赋给头指针,接下里,p1链接 
16 //上一个指针p2->next;
17         p2= p1;   //完成链接后p2后移到p1处。
18         p1 = (struct Student *)malloc(LEN);   //然后p1继续开发内存存储新成员;
19         scanf_s("%s %f", p1->num, N, &p1->score);//读入新成员信息,返回到开头,进行判读
20 //读入的信息
21     }
22     p2->next = NULL; //是p2的next作为结束标志,注意,这里是不是p1,p1用来存储“0”
23 //终止条件了
24     return head;    //返回头指针
25 }

 

无表头单链表的总结----动态建立链表

原文:http://www.cnblogs.com/xinlovedai/p/6216251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!