雙向鍊錶的建立和讀取

2021-07-27 11:02:32 字數 972 閱讀 1508

雙向鍊錶是為了滿足更加方便的查詢前驅,而付出空間的代價的乙個資料結構。雙向鍊錶的節點定義如下:

1 typedef struct

node

2dlnode;

雙向鍊錶的空間結構如下圖所示:

雙向鍊錶的建立如下:

1

//建立雙向鍊錶

2 dlnode *create_dlist()324

return

(h);  //不要忘記返回鍊錶

25 }

上面綠顏色的字需要注意;

讀取雙向鍊錶的**如下:

1

void out_dlist(dlnode *l)

212 }

注意:①:由於頭節點的值為空,所以p = p->next; ②:迴圈的條件發生了變化,因為這是乙個迴圈鍊錶,鍊錶的尾部指向頭部,所以條件是p!=l; 

全部**如下:

1 #include2 #include 3

4 typedef struct

node

5dlnode;910

//函式宣告

11 dlnode *create_dlist();

12void out_dlist(dlnode *l);

1314

main()

1521

22//

讀取雙向鍊錶

23void out_dlist(dlnode *l)

2434}35

3637

//建立雙向鍊錶

38 dlnode *create_dlist()

3960

return

(h);

61 }

**:

建立雙向鍊錶

今天第一次寫部落格,所以說呢,請大家多多包含,首先就來個建立乙個雙向鍊錶吧!接下來還有向雙向鍊錶的插入和刪除的文章,請大家多多提意見啊!include include include struct dunode head int main p head next for i 0 i 5 i retu...

鍊錶的建立和刪除,初識鍊錶

include include include typedef struct date 申明結構體 date int main void else pe next ps 把新結點連線到鏈尾 第一次不執行,而到第二次pe就是上一次的ps 而pe next讓其指向下一次的ps pe ps 新結點成為了新...

鍊錶的建立和遍歷演算法

node creat 建立鍊錶,返回表頭,void showlist node head 遍歷鍊錶的函式,引數為表頭 int main node creat else pend ps while temp return head void showlist node head cout 下面來說明一...