關於動態連結串列的理解
建立動態列表的具體過程,分為三個步驟:
(1)分配結點
struct Student *p1; //建立struct Student型別的指標變數 p1
p1 = (struct Student *)malloc(sizeof(struct Student)); //p1指向新分配的記憶體空間
(2)輸入結點資料
printf("請輸入學號和成績:\n") ;
scanf("%d %f",p1->num,p1->score);
p1->next = NULL;
(3)建立前後相連的關係
為簡單起見,新建立的結點要插入連結串列的結尾,且新建指標p2始終指向連結串列的最後一個結點。
if(head = NULL) //如果連結串列為空,那麼頭指標指向第一個節點。
head = p1;
else: //如果連結串列有節點了,新建結點則要插入該結點的後邊。
//使該結點的next指向下一節點
{
p2->next = p1;
}
p2 = p1;//因為p2要始終保持是連結串列中最後一個結點,所以用p2指向p1
//現在p2還是最後一個結點
相關文章
- 動態連結串列的建立(程式碼)
- 動態連結的相關結構
- 關於cmake輸出動態連結庫名字的問題
- 關於動態字串的繫結字串
- 統計學生資訊(使用動態連結串列完成)
- 資料結構-malloc申請動態空間-連結串列的建立資料結構
- (連結串列)連結串列的排序問題排序
- 連結串列-雙向連結串列
- 連結串列-迴圈連結串列
- 寒假專案1-動態連結串列體驗(示例)
- 連結串列面試題(二)---連結串列逆序(連結串列反轉)面試題
- javascript中的連結串列結構—雙向連結串列JavaScript
- 連結串列4: 迴圈連結串列
- 連結串列-單連結串列實現
- 深入理解C語言----動態庫 & 靜態庫 & 連結C語言
- C#資料結構-靜態連結串列C#資料結構
- Linux下的靜態連結與動態連結Linux
- 寒假專案1-動態連結串列體驗(改造)(1)
- 寒假專案1-動態連結串列體驗(改造)(2)
- 寒假專案1-動態連結串列體驗(改造)(3)
- 寒假專案1-動態連結串列體驗(改造)(4)
- 寒假專案1-動態連結串列體驗(改造)(5)
- 寒假專案1-動態連結串列體驗(改造)(6)
- 連結串列入門與插入連結串列
- cmake 連結動態連結庫
- 連結串列以及golang介入式連結串列的實現Golang
- Linux核心連結串列-通用連結串列的實現Linux
- 動態連結庫與靜態連結庫
- 連結串列
- banq 關於動態圖文結合
- 反轉連結串列、合併連結串列、樹的子結構
- 動態連結庫和靜態連結庫的區別
- 實戰資料結構(6)_靜態連結串列的使用資料結構
- 靜態連結動態連結的連結順序問題和makefile示例
- 連結串列專題——面試中常見的連結串列問題面試
- 乾貨好文帶你理解C語言中的連結串列C語言
- 關於多項式的加和、乘積可用連結串列和陣列陣列
- 理解靜態繫結與動態繫結