PHP實現雙鏈表刪除與插入節點的方法示例

2022-09-29 17:54:17 字數 956 閱讀 6031

概述:

雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鍊錶。

實現**:

<?php class node

}class doublelinklist

//插入節點

public function insertlink($data)else

}if($q==null)

} //從頭輸出節點

public function printfromfront()

echo $string."

"; }

//從尾輸出節點

public function printfromend()

$string="";

while($r)

echo $string."

"; }

publ程式設計客棧ic function dellink($data)

else

}if($p==null)

echo "沒有值為的節點";

}}$link=new doublelinklist();

$link->insertlink(1);

$link->insertlink(2);

$link->insertlinkwww.cppcns.com(3);

$link->insertlink(4);

$link->insertlink(5);

$link->dellink(3);

$link->printfromfront();

$link->printfromend();

$link->dellink(6);

執行結果:

1,2,4,5

5,4,2,1,head

沒有值為6的節點

雙鏈表的插入和刪除實現

雙鏈表相對於單鏈表,最大的不同就是在它的插入和刪除操作上。在刪除實現時,要注意尾結點的刪除和普通結點的刪除的區別,需分別對待。以下是我的實現 includeusing namespace std struct node node creat int n return head int show no...

雙鏈表(刪除節點操作)

在雙鏈表中刪除第i個節點演算法如下 首先要會 雙鏈表的儲存結構定義 typedef struct dlinklistdlinklist 思路 假設刪除雙鏈表l中 p 節點 的 後繼節點 我們將用q表示 q p next 1.首先我們還是先查詢 i 1 個節點 2.然後判斷該位置是否為空,是,則返回0...

小試牛刀 單鏈表 雙鏈表插入與刪除

在正文開始之前,先介紹下一些相關的背景知識。首先,什麼是鍊錶?鍊錶的實質是資料結構按照儲存結構方式劃分的一種儲存結構。如下圖1所示,煉表不像順序儲存結構那樣,在記憶體中是一塊連續的區域,相反,鍊錶是 物理離散 邏輯聯絡 即在記憶體中,儲存單元是不連續的 彼此之間沒有順序,但是彼此之間是通過鍊錶中的指...