打印链表c语言(链表c语言)

  • 发布时间:2023-11-03 10:02:40 来源:
标签:
导读 你们好,最近小未来发现有诸多的小伙伴们对于打印链表c语言,链表c语言这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

你们好,最近小未来发现有诸多的小伙伴们对于打印链表c语言,链表c语言这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。

1、 创建一个指向头节点的指针,空链表。

2、 以学生结构为例

3、 struct student{

4、 int num;

5、 char name[20]

6、 struct student *next; };

7、 typedef struct student STU;

8、 /*-将结构学生作为STU */

9、 用malloc()函数在物理内存中打开一个空间存储头节点;并定义一个指向头节点的指针变量:

10、 STU* head=(STU*)malloc(sizeof(STU));

11、 进行防错处理

12、 if(head==NULL) {printf('Error-01');exti(0);}

13、 清空头节点的指针字段,指示空链表。

14、 head-next=NULL;

15、 注意,此时只创建了头节点,但它没有与第一个节点连接。

16、 定义一个新节点,一个尾节点

17、 定义指向新添加节点的指针。

18、 STU* pnew=NULL;

19、 思考:尾节点的指针是怎么来的?

20、 (1)如果只添加一个节点,只需将头节点的指针字段指向新节点,然后将新节点的指针字段留空即可。

21、 head-next=pnew;

22、 pnew-next=NULL;

23、 (2)如果添加多个节点,此时尾节点在哪里?所以需要引入一个中间量尾来始终指向整个链表的尾节点。

24、 STU* tail=NULL;

25、 tail-next=NULL;

26、 以后每增加一个节点,都是通过循环加在原链表的尾部之后。

27、 (3)程序写在这里。在整个链表中,实际上只有一个节点,即头节点和尾节点。所以尾节点一开始也是指向头节点的。

28、 tail=head;

29、 那么新的节点一开始指向哪里呢?

以上就是链表c语言这篇文章的一些介绍,希望对大家有所帮助。

  • 免责声明:本文由用户上传,如有侵权请联系删除!