php实现单链表,php实现单链_PHP教程
php实现单链表,php实现单链
<?<span>php </span><span>/*</span><span>* * 单链表 </span><span>*/</span> <span>class</span><span> Demo { </span><span>private</span> <span>$id</span><span>; </span><span>public</span> <span>$name</span><span>; </span><span>public</span> <span>$next</span><span>; </span><span>public</span> <span>function</span> __construct (<span>$id</span> = '', <span>$name</span> = ''<span>) { </span><span>$this</span>->id = <span>$id</span><span>; </span><span>$this</span>->name = <span>$name</span><span>; } </span><span>static</span> <span>public</span> <span>function</span> show (<span>$head</span><span>) { </span><span>$cur</span> = <span>$head</span><span>; </span><span>while</span> (<span>$cur</span>-><span>next</span><span>) { </span><span>echo</span> <span>$cur</span>-><span>next</span>->id,'###',<span>$cur</span>-><span>next</span>->name,'<br />'<span>; </span><span>$cur</span> = <span>$cur</span>-><span>next</span><span>; } </span><span>echo</span> '<hr />'<span>; } </span><span>//</span><span>尾插法</span> <span>static</span> <span>public</span> <span>function</span> push (<span>$head</span>, <span>$node</span><span>) { </span><span>$cur</span> = <span>$head</span><span>; </span><span>while</span> (<span>NULL</span> != <span>$cur</span>-><span>next</span><span>) { </span><span>$cur</span> = <span>$cur</span>-><span>next</span><span>; } </span><span>$cur</span>-><span>next</span> = <span>$node</span><span>; </span><span>return</span> <span>$head</span><span>; } </span><span>static</span> <span>public</span> <span>function</span> insert(<span>$head</span>, <span>$node</span><span>) { </span><span>$cur</span> = <span>$head</span><span>; </span><span>while</span> (<span>NULL</span> != <span>$cur</span>-><span>next</span><span>) { </span><span>if</span> (<span>$cur</span>-><span>next</span>->id > <span>$node</span>-><span>id) { </span><span>break</span><span>; } </span><span>$cur</span> = <span>$cur</span>-><span>next</span><span>; } </span><span>$node</span>-><span>next</span> = <span>$cur</span>-><span>next</span><span>; </span><span>$cur</span>-><span>next</span> = <span>$node</span><span>; </span><span>return</span> <span>$head</span><span>; } </span><span>static</span> <span>public</span> <span>function</span> edit(<span>$head</span>, <span>$node</span><span>) { </span><span>$cur</span> = <span>$head</span><span>; </span><span>while</span> (<span>NULL</span> != <span>$cur</span>-><span>next</span><span>) { </span><span>if</span> (<span>$cur</span>-><span>next</span>->id == <span>$node</span>-><span>id) { </span><span>break</span><span>; } </span><span>$cur</span> = <span>$cur</span>-><span>next</span><span>; } </span><span>$cur</span>-><span>next</span>->name = <span>$node</span>-><span>name; </span><span>return</span> <span>$head</span><span>; } </span><span>static</span> <span>public</span> <span>function</span> pop (<span>$head</span>, <span>$node</span><span>) { </span><span>$cur</span> = <span>$head</span><span>; </span><span>while</span> (<span>NULL</span> != <span>$cur</span>-><span>next</span><span>) { </span><span>if</span> (<span>$cur</span>-><span>next</span> == <span>$node</span><span>) { </span><span>break</span><span>; } </span><span>$cur</span> = <span>$cur</span>-><span>next</span><span>; } </span><span>$cur</span>-><span>next</span> = <span>$node</span>-><span>next</span><span>; </span><span>return</span> <span>$head</span><span>; } } </span><span>$team</span> = <span>new</span><span> Demo(); </span><span>$node1</span> = <span>new</span> Demo(1, '唐三藏'<span>); Demo</span>::push(<span>$team</span>, <span>$node1</span><span>); </span><span>$node1</span>->name = '唐僧'<span>; Demo</span>::show(<span>$team</span><span>); </span><span>//</span><span> Demo::show($team);</span> <span>$node2</span> = <span>new</span> Demo(2, '孙悟空'<span>); Demo</span>::insert(<span>$team</span>, <span>$node2</span><span>); </span><span>//</span><span> Demo::show($team);</span> <span>$node3</span> = <span>new</span> Demo(5, '白龙马'<span>); Demo</span>::push(<span>$team</span>, <span>$node3</span><span>); </span><span>//</span><span> Demo::show($team);</span> <span>$node4</span> = <span>new</span> Demo(3, '猪八戒'<span>); Demo</span>::insert(<span>$team</span>, <span>$node4</span><span>); </span><span>//</span><span> Demo::show($team);</span> <span>$node5</span> = <span>new</span> Demo(4, '沙和尚'<span>); Demo</span>::insert(<span>$team</span>, <span>$node5</span><span>); </span><span>//</span><span> Demo::show($team);</span> <span>$node4</span>->name = '猪悟能';<span>//</span><span>php对象传引用,所以Demo::edit没有必要 // unset($node4); // $node4 = new Demo(3, '猪悟能'); // Demo::edit($team, $node4);</span> Demo::pop(<span>$team</span>, <span>$node1</span><span>); Demo</span>::show(<span>$team</span>);

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

給定一個單鍊錶和正整數N作為輸入。目標是使用遞歸找到給定列表中從末尾算起的第N個節點。如果輸入清單有節點a→b→c→d→e→f且N為4,那麼倒數第4個節點將會是c。我們將首先遍歷直到列表中的最後一個節點以及從遞歸(回溯)增量計數返回。當count等於N時,則傳回指向目前節點的指標作為結果。讓我們來看看此的各種輸入輸出場景-輸入-List:-1→5→7→12→2→96→33N=3輸出−倒數第N個節點為:2解釋−第三個節點是2 。輸入−列表:-12→53→8→19→20→96→33N=8輸出-節點不存

PHPSPL資料結構庫概述PHPSPL(標準php庫)資料結構庫包含一組類別和接口,用於儲存和操作各種資料結構。這些資料結構包括數組、鍊錶、堆疊、佇列和集合,每個資料結構都提供了一組特定的方法和屬性,用於操縱資料。數組在PHP中,數組是儲存一系列元素的有序集合。 SPL數組類別提供了對原生的PHP數組進行加強的功能,包括排序、過濾和映射。以下是使用SPL陣列類別的範例:useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

陣列與鍊錶的演算法時間複雜度比較:存取陣列O(1),鍊錶O(n);插入陣列O(1),鍊錶O(1)/O(n);刪除陣列O(1),鍊錶O (n);搜尋數組O(n),鍊錶O(n)。

數字的鍊錶表示是這樣提供的:鍊錶的所有節點都被視為數字的一位數字。節點儲存數字,使得鍊錶的第一個元素保存數字的最高有效位,鍊錶的最後一個元素保存數字的最低有效位。例如,數字202345在鍊錶中表示為(2->0->2->3->4->5)。要為這個表示數字的鍊錶加1,我們必須檢查清單中最低有效位的值。如果小於9就可以了,否則程式碼將更改下一個數字,依此類推。現在讓我們看一個範例來了解如何做到這一點,1999表示為(1->9->9->9)並添加1應該將其

鍊錶是一種資料結構,採用一系列帶有資料和指標的節點組織元素,特別適合處理大型資料集和頻繁的插入/刪除操作。它的基本組成部分包括節點(資料和指向下一個節點的指標)和頭節點(指向鍊錶中第一個節點)。常見鍊錶操作包括:新增(尾部插入)、刪除(特定值)和遍歷。

在Python中,鍊錶是一種線性資料結構,它由一系列節點組成,每個節點包含一個值和對鍊錶中下一個節點的引用。在本文中,我們將討論如何在Python中將元素新增至鍊錶的第一個和最後一個位置。 LinkedListinPython鍊錶是一種引用資料結構,用於儲存一組元素。它在某種程度上類似於數組,但是在數組中,資料儲存在連續的記憶體位置中,而在鍊錶中,資料不受此條件限制。這意味著資料不是按順序存儲,而是以隨機的方式儲存在記憶體中。 Thisraisesonequestionthatis,howwecanac

鍊錶(LinkedList)是一種常見的資料結構,它由一系列結點(Node)組成,每一個結點包含兩個關鍵屬性:資料域(Data)和指標域(Next)。其中,數據域用於儲存實際數據,而指標域則指向下一個結點。透過這種方式,鍊錶以一種靈活的方式儲存數據,適用於許多不同的應用場景。在Go語言中,鍊錶結構也得到了良好的支援。 Go的內建標準庫中提供了cont

Golang是一門高效能的程式語言,它的並發能力和記憶體管理使得它非常適合編寫高效的資料結構。鍊錶是一種常見的資料結構,以下將介紹如何使用Golang編寫高效的鍊錶結構,並提供具體的程式碼範例。鍊錶是一種線性資料結構,它由一個個節點組成,每個節點包含一個值和指向下一個節點的指標。相較於數組,鍊錶的優點在於插入和刪除元素的效率更高,因為不需要移動其他元素。然而,鏈
