關於動態連結串列的理解
建立動態列表的具體過程,分為三個步驟:
(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還是最後一個結點
相關文章
- 動態連結串列的建立(程式碼)
- 動態連結的相關結構
- 關於單連結串列反轉的一點整理
- 關於動態字串的繫結字串
- 資料結構-malloc申請動態空間-連結串列的建立資料結構
- 判斷單連結串列是否關於中心對陣
- 連結串列 - 單向連結串列
- 連結串列-迴圈連結串列
- 連結串列-雙向連結串列
- 連結串列4: 迴圈連結串列
- 連結串列-雙向通用連結串列
- 連結串列-單連結串列實現
- 深入理解Redis 資料結構—雙連結串列Redis資料結構
- C#資料結構-靜態連結串列C#資料結構
- cmake 連結動態連結庫
- 動態連結庫與靜態連結庫
- 連結串列-雙向非通用連結串列
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- 連結串列入門與插入連結串列
- Leetcode_86_分割連結串列_連結串列LeetCode
- 靜態連結動態連結的連結順序問題和makefile示例
- 反轉連結串列、合併連結串列、樹的子結構
- 連結串列的ADT
- 資料結構-單連結串列、雙連結串列資料結構
- 連結串列
- 乾貨好文帶你理解C語言中的連結串列C語言
- 關於多項式的加和、乘積可用連結串列和陣列陣列
- LeetCode-Python-86. 分隔連結串列(連結串列)LeetCodePython
- 看動畫理解「連結串列」實現LRU快取淘汰演算法動畫快取演算法
- 理解靜態繫結與動態繫結
- [連結串列】2.輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。[多益,位元組考過]
- 連結串列專題——面試中常見的連結串列問題面試
- 資料結構_連結串列的原理與應用1_單連結串列(基於C語言實現)資料結構C語言
- 單連結串列建立連結串列出現問題
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 資料結構實驗之連結串列五:單連結串列的拆分資料結構
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 資料結構之連結串列篇(單連結串列的常見操作)資料結構