日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

用PHP实现单向链表结构

發布時間:2023/12/31 php 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用PHP实现单向链表结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鏈表的結構是由一個一個節點組成的,所謂鏈,就是每個節點的頭尾連在一起。而單向鏈表就是:每個節點包含了當前節點的值和下一個節點引用。雙向鏈表就是每個節點包含了當前節點的值和上下兩個節點的引用。相對于數組結構,鏈表的增刪效率會更加高。

單向鏈表(示意圖):


PHP代碼實現

/*** 鏈表結構*/ class Hero{public $no;public $name;public $next=null;public function __construct($no=null,$name=null){$this->no = $no;$this->name = $name;} }/*** 鏈表操作*/ class SingleLink{/*** 添加節點*/public function addNode($head,$node){$insertNode = $head;$afterNode = null; // 插入節點的后續節點while ($insertNode->next!=null){if ($node->no < $insertNode->next->no){$afterNode = $insertNode->next; break;}elseif($node->no == $insertNode->next->no){throw new \Exception('排名 '.$node->no.' 節點已存在!');}$insertNode = $insertNode->next;}if( $afterNode ){ // 將后續節點拼接到當前插入節點的后面$node->next = $afterNode;}$insertNode->next = $node;}/*** 刪除節點*/public function delNode($head,$no){$currentNode = $head;$prevNode = $head;while ($currentNode->next!=null){$currentNode = $currentNode->next;if( $currentNode->no==$no ){$prevNode->next = $currentNode->next;break;}$prevNode = $currentNode;}}/*** 顯示節點*/public function showNode($head){$currentNode = $head;while ($currentNode->next!=null){$currentNode = $currentNode->next;echo '第 '.$currentNode->no.' 名:'.$currentNode->name."<br/>";}} }//創建一個head頭,該head 只是一個頭,不放入數據 $head = new Hero(); $heroList = new SingleLink();$hero_01 = new Hero(1,'宋江'); $hero_02 = new Hero(2,'盧俊義'); $hero_03 = new Hero(3,'公孫勝'); $hero_04 = new Hero(4,'吳用'); $hero_05 = new Hero(5,'關勝'); $hero_06 = new Hero(6,'林沖');$heroList->addNode($head, $hero_01); $heroList->addNode($head, $hero_03); $heroList->addNode($head, $hero_02); $heroList->addNode($head, $hero_05); $heroList->addNode($head, $hero_04); $heroList->addNode($head, $hero_06); //$heroList->addNode($head, $hero_02);$heroList->showNode($head);echo "<br/><br/>"; $heroList->delNode($head,3); $heroList->delNode($head,5); $heroList->showNode($head);


參考:

韓順平PHP程序員玩轉算法公開課

https://www.cnblogs.com/Starshot/p/6918569.html

https://blog.csdn.net/silent123go/article/details/52693735

總結

以上是生活随笔為你收集整理的用PHP实现单向链表结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。