C C 學習 18 C語言雙向鍊錶

2022-04-04 01:52:07 字數 1245 閱讀 3860

說明:陣列提供了連續記憶體空間的訪問和使用,而鍊錶是對記憶體零碎空間的有效組織和使用。鍊錶又分為單向鍊錶和雙向鍊錶,單向鍊錶僅提供了鍊錶的單方向訪問,相比之下,雙向鍊錶則顯得十分方便。

一.單向鍊錶的節點

1

typedef

struct node

2 node;

二.雙向鍊錶的建立

頭插法和尾插法只看**比較難以與理解,建議畫出插入節點時的鍊錶變化圖則會非常容易理解,另外,個人認為頭插法較優,因為其插入邏輯一步到位,不像尾插法還需在後面完成雙向鍊錶的環狀連線。

1.頭插法

1 node * creatlist()

2 19

return head;

20 }

2.尾插法

1 node * creatlist()

2 19

//完成回環

20 cur->next = head;

21 head->pre = cur;

22return head;

23 }

三.雙向鍊錶的元素插入(頭插法)

插入方法:先讓插入的節點有所指向,再考慮指向它的指標,具體插入如下:

1

void insertlist(node * head)

2

四.雙向鍊錶的查詢

既然是雙向鍊錶,其查詢方式也應該是是雙向查詢,比起單向鍊錶的單向查詢,雙向查詢同時從兩個方向進行查詢,加快了查詢的速度。

1 node * searchlist(node * head,int find)

2 16

return null;

17 }

五.刪除某個節點

1

void deletelist(node * pfind)

2 11 }

六.鍊錶排序(按值排序)

1

void sortlist(node * head,int n)

2 16 p = p->next;

17 q = q->next;

18 }

19 }

20 }

七.鍊錶的銷毀

1

void destroylist(node * head)

2 11 }

學習筆記18 C語言 檔案

二進位制檔案 儲存的是資料的補碼 file fopen const char path,const char mode 功能 開啟或者建立檔案 path 檔案的路徑 mode 開啟模式 r 以唯讀許可權開啟檔案,如果該檔案不存在則開啟失敗 r 在r的基礎上,增加寫許可權 w 以只寫許可權開啟檔案,如...

18 C語言 字串

在 c 語言中,字串實際上是使用 null 字元 0 終止的一維字元陣列。因此,乙個以 null 結尾的字串,包含了組成字串的字元。下面的宣告和初始化建立了乙個 hello 字串。由於在陣列的末尾儲存了空字元,所以字元陣列的大小比單詞 hello 的字元數多乙個。char greeting 6 依據...

雙向鍊錶C語言

鍊錶結構定義 typedef struct node 建立鍊錶 int creat list struct node h h data 0 0 h llink null h rlink null return 1 清空鍊錶 int free list struct node h return 1 查...