鍊錶的基礎操作專題小歸納

2022-05-13 03:59:25 字數 2053 閱讀 8709

後天就要程式設計考試了,今晚抓緊複習鍊錶ing!

這次就來總結一下鍊錶的六大基礎操作:

(1)建立鍊錶

(2)遍歷鍊錶

(3)在鍊錶中檢索

(4)向鍊錶中插入一項

(5)從鍊錶中刪除一項

(6)交換鍊錶中兩項的位置

全部都放在乙個**裡了,這樣好操作一點 /笑哭

至於鍊錶的引申操作,什麼頭插法尾插法的,都是這六大基礎操作之外的事情,有興趣的話煩請各位自己去了解啦,我這裡就不介紹了~

注釋都非常詳細,我是真的沒有啥時間畫圖做解釋了,將就著看吧~

(畢竟我個人也不喜歡一上來啥也不說就版**的,那會讓我很暴躁)

1 #include 2 #include 

3 #include 4

const

int size = 5;//

5個學生資訊節點作為測試樣例

5 typedef struct

student

6student;

1213 student* input(student* stu)//

操作①:建立鍊錶

1428

return

stu;29}

3031

void output(student* stu)//

操作②:從頭遍歷鍊錶(並輸出)

3239}40

41 student* check(student* stu)//

操作③:在鍊錶中檢索某個節點,並帶回主函式輸出(在這裡我以找到第乙個成績為66的學生資訊,帶回主函式輸出為例)

4250

else

51 54}

55return

p;56}57

58 student* insert_s(student* stu, student* temp)//

操作④:在鍊錶中插入乙個節點temp,並帶回主函式輸出

5967 temp->next = p->next;

68 p->next = temp;//

69return

stu;70}

7172 student* del(student* stu)//

操作⑤:刪除鍊錶中的某個節點,並帶回主函式,輸出

7382 q = p->next;

83 q = q->next;

84 free(p->next);//

釋放節點

85 p->next =q;

86return

stu;87}

8889 student* exchange(student*stu)

90105

while (flag2)//

定位節點q

106110

while (flag11)//

定位節點pp

111115

while (flag22)//

定位節點qq

116120

/****************==

*///

交換p->next和q->next

121 temp = p->next;

122 p->next = q->next;

123 q->next =temp;

124/*

***************==

*///

交換pp->next和qq->next

125 pp->next =q;

126 qq->next =p;

127/*

***************==

*///

交換p和q

128 p = pp->next;

129 q = qq->next;

130/*

***************==

*/131

return

stu;

132}

133134

intmain()

135

鍊錶基礎操作

1.鍊錶定義 struct listnode 2.鍊錶建立 方法一 尾插法 有頭結點 即輸出順序與插入順序一致 listnode head new listnode 0 head next null listnode p,r r head int x while cin x r next null ...

鍊錶基礎操作

結點所在類 pragma once include include singlelink.h templateclass node t get data node 單鏈表所在類 pragma once includeusing namespace std templateclass node 兩個模...

鍊錶的基礎操作實現

首先是構造鍊錶 include include define maxsize 100 typedef structsqlist 定義乙個結構體 void initlist sqlist l 構造乙個空的鍊錶 else printf 申請失敗 n int main 然後是填充這個鍊錶 插入鍊錶 inc...