頭插法創建鏈表


 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