雙向鏈結串列.ppt

雙向鏈結串列.ppt

雙向鏈結串列 (Doubly Linked Lists) 定義及表示法 單向鏈結串列的缺點是只有一個方向,無法往回走 雙向鏈結串列解決了這一個問題,只要每一個節點中儲存兩個指標,一個是上一個節點的位址,一個是下一個節點的位址。如此一來,想要回到上一個節點就不是問題了 缺點是使用的記憶體比較多。 其資料結構如下: C語言程式的結構語法 struct node { ?int number; char name[40]; struct node *back; struct node *next; } 基本運算與圖解 加入動作 加入節點於前端:假設雙向鏈結串列是空的,則串列一開始狀態如下。 x → rlink =head ; tail - rlink = x; tail = x; 加入節點於尾端 假設有一串列如下: x → rlink = tail → rlink; head →rlink = x; head → llink = x ; 刪除動作 若假設要刪除this所指之節點,其步驟如下: this → llink → rlink = this →rlink; this → rlink → llink = this →llink; free (this); 基本運算的演算法與程式 加入動作 產生串列首 void_init_head(struct node *ptr, struect

文档评论(0)

1亿VIP精品文档

相关文档