程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 無表頭單鏈表的總結----動態建立鏈表,單鏈----

無表頭單鏈表的總結----動態建立鏈表,單鏈----

編輯:關於C語言

無表頭單鏈表的總結----動態建立鏈表,單鏈----


 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 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved