雙向鍊錶01

2022-09-09 04:36:08 字數 1002 閱讀 9420

雙向鍊錶:在單鏈表的每個結點裡再增加乙個指向其前驅的指標域 prior,這樣鍊錶中就形成了有兩個方向不同的鏈,故稱其為「雙向鍊錶」。

雙向鍊錶的結構定義:

雙向迴圈鍊錶:和單鏈的迴圈表類似,雙向鍊錶也可以有迴圈表:

① 讓頭結點的前驅指標指向鍊錶的最後乙個結點;

② 讓最後乙個結點的後繼指標指向頭結點。

雙向鍊錶結構的對稱性(設指標 p 指向某一節點)

p -> proior ->next = p = p -> next -> prior

意思是指標 p 指向結點的 前乙個結點 的 後邊那個節點,就是指標 p 指向的結點本身;

而 「p -> next -> prior」 意思則是,指標 p 所指向結點的 後乙個結點 的 前乙個結點,自然也是指標 p 所指向結點。

在雙向鍊錶中有些操作(如:listlength,getelem等),因僅涉及乙個方向的指標,故它們的演算法與線性鍊錶的相同。

但在插入、刪除時,則需同時修改兩個方向上的指標,兩者操作的時間服早讀均為 o(n)。

mysql 雙向鍊錶 雙向鍊錶

雙向鍊錶是鍊錶變型,相比於單鏈表導航或者是向前和向後的兩種方式。以下是重要的術語來理解雙向鍊錶的概念 link 鍊錶的每個鏈路儲存資料稱為乙個元素。linkedlist linkedlist包含連線鏈結到名為首先第乙個鏈結,並稱為最後的最後乙個鏈結 last 雙向鍊錶表示 按照如上圖中所示,以下是要...

雙向鍊錶(鍊錶)

雙向鍊錶 每個節點包含指向後繼節點的指標和指向前驅節點的指標。繼承關係圖 實體圖 duallinklist.h duallinklist 雙向鍊錶類模板 成員變數 node 節點實體 m header 頭節點 m length 鍊錶長度 m step 步進長度 m current 當前節點前乙個節點...

雙向鍊錶 3 反轉雙向鍊錶

雙向鍊錶的反轉過程,可以參考下面的例圖。a 原始雙向鍊錶 b 反轉後的雙向鍊錶 下面是乙個用於反轉雙向鍊錶的簡單方法。所需要做的事情就是交換每個節點的前向指標和後向指標,然後調整鍊錶的頭指標和尾指標。include struct node 對鍊錶進行反轉 void reverse node head...