头插法创建链表


 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 /*
 4 头插法建立链表:所谓头插法,就是新来的结点每次都插在头结点后面
 5 内功心法:让新来的结点先有所指向(指向头结点的下一个结点),新来的结点,有所指向不会打断原有的指向关系。
 6 */
 7 typedef struct node
 8 {
 9     int data;
10     struct node * next;
11 }NODE;
12 NODE * Createlist()
13 {
14     NODE *head = (NODE*)malloc(sizeof(NODE));
15     head->next = NULL;
16     
17     NODE * cur = NULL;
18     int data;
19     printf("请输入结点数据\n");
20     scanf("%d",&data);
21 
22     while(data)
23     {
24         cur = (NODE *)malloc(sizeof(NODE));//创建一个新结点
25         cur->data = data;
26         cur->next = head->next;//让新结点有所指向,指向头结点的下一个结点
27         head->next = cur;
28         scanf("%d",&data);
29     }
30 
31     return head;
32 }
33 void traverList(NODE *head)
34 {
35     head = head->next;//跳过头结点,因为头结点的data域为空
36     while(head)
37     {
38         printf("%d",head->data);
39         head = head->next;
40     }
41 }
42 int main(void)
43 {
44 //建立链表
45     NODE *head = Createlist();
46 //遍历链表
47     traverList(head);
48     
49     return 0;
50 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM