一一計畫(Day 2)雙向鍊錶

2021-10-20 17:51:04 字數 645 閱讀 3991

1.單向鍊錶因為只有乙個指標指向下乙個指標,所以只能從前往後找,速度慢

2.為了更迅速,於是就在加了乙個前指標,也就變成了雙向鍊錶

1) 新節點的前指標指向上乙個節點;

2) (新)節點的後指標指向下乙個節點;

3.兩者寫法基本相似,重點要畫圖理解雙向鍊錶的含義

#include

#include

#define null 0

struct doublelist

;struct doublelist*

createlist()

//建立節點

struct doublelist*

createnode

(int date)

void

insertnodebytail

(struct doublelist* headnode,

int date)

//用尾部插入

void printlist (

struct doublelist* headnode)

printf

("\n");

}int

main()

這個講解更為詳細

一一計畫(Day 2 )鏈式棧

顧名思義這裡的棧是與煉表相掛鉤,因為鍊錶和棧有個共同的性質就是先進後出,所以寫法與鍊錶相似 1.寫出棧的資料結構 2.建立棧也就是初始化過程 3.寫出節點的資料結構 因為入棧前得要用東西可以入到棧裡面 4.建立節點 5.入棧 也就是插入節點寫法與鍊錶相同 6.獲取棧頂元素 7.出棧 也就是刪除節點寫...

鍊錶家族(2) 雙向鍊錶

前面實現了乙個單鏈表,現在我們再來做乙個雙向鍊錶吧!附上單鏈表描述 和單鏈表差別非常小,只是多了乙個指標指向前乙個元素。這樣就更像我們生活中的鏈條了。typedef struct lnode lnode,linklist lnode是型別名,linklist是指向lnode型別的指標 特別說一下插入...

演算法2 鍊錶3 雙向鍊錶

雙 向 鍊錶中有兩條方向不同的鏈,即每個結點中除next域存放後繼結點位址外,還增加乙個指向其直接前趨的指標域prior。雙向鍊錶在查詢時更方便 特別是大量資料的遍歷。注意 雙鏈表由頭指標head惟一確定的。帶頭結點的雙鏈表的某些運算變得方便。將頭結點和尾結點鏈結起來,為雙 向 迴圈鍊錶。形式描述 ...