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

歡迎訪問 生活随笔!

生活随笔

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

php

PHP版链表的实现

發布時間:2025/3/20 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP版链表的实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文首發于我的博客
引用:Java數據結構與算法——鏈表

該文章提供的JAVA版的鏈表的實現。

現在我也貼一下PHP版的鏈表的實現:

class Node {private $data;private $next;public function getData() {return $this->data;}public function setData($data) {$this->data = $data;return true;}public function getNext() {return $this->next;}public function setNext($next) {$this->next = $next;return true;} }/*** 鏈表類*/ class Link {private $size = 0;private $first;private $last;/*** 獲取鏈表長度*/public function getLength() {return $this->size;}/*** 鏈表中插入第一個元素的時候,頭和尾部都是同一個元素*/public function oneNode(string $element) {$this->first = new Node;$this->first->setData($element);$this->last = $this->first;}/*** 當只有一個元素的時候,刪除$fist和$last*/public function clear() {$this->first = $this->last = null;}/*** 頭節點插入*/public function addHead(string $element) {if ($this->size == 0) {$this->oneNode($element);} else {$node = new Node;$node->setData($element);$node->setNext($this->first);$this->first = $node;}$this->size++;return true;}/*** 尾節點插入*/public function addTail(string $element) {if ($this->size == 0) {$this->oneNode($element);} else {$node = new Node();$node->setData($element);$this->last->setNext($node);$this->last = $node;}$this->size++;}/*** 中間節點插入*/public function add(int $index, string $element) {if ($index <= $this->size) {if ($this->size == 0) {oneNode($element);} elseif ($index == 0) {$this->addHead($element);} elseif ($index == $this->size) {$this->addTail($element);} else {$tmp = $this->get($index - 1);$node = new Node;$node->setData($element);$node->setNext($tmp->getNext());$tmp->setNext($node);}$this->size++;} else {throw new \Exception("插入位置無效或超出鏈表長度");}}/*** 獲取指定位置的元素*/public function get(int $index) {$tmp = $this->first;for ($i = 0; $i < $index - 1; $i++) {$tmp = $tmp->getNext();}return $tmp;}/*** 刪除頭節點*/public function deleteFirst() {if ($this->size == 0) {throw new \Exception("空鏈表,無元素可刪除");} elseif ($this->size == 1) {$this->clear();} else {$tmp = $this->first;$this->first = $tmp->getNext();$this->size--;}}/*** 刪除尾節點*/public function deleteLast() {if ($this->size == 0) {throw new \Exception("空鏈表,無元素可刪除");} elseif ($this->size == 1) {$this->clear();} else {$tmp = $this->get($this->size - 1);$tmp->setNext(null);$this->size--;}}/*** 刪除指定節點*/public function deleteIndex(int $index) {if ($this->size == 0) {throw new \Exception("空鏈表,無元素可刪除");} elseif ($this->size == 1) {$this->clear();} else {$tmp = $this->get($index - 1);$tmp->setNext($tmp->getNext()->getNext());$this->size--;}}/*** 打印現有的所有元素*/public function printLink() {$tmp = $this->first;if(is_null($tmp)) {return false;} echo $tmp->getData();while(!is_null($tmp->getNext())) {$tmp = $tmp->getNext();echo "->" . $tmp->getData();}echo "\n";} }$link = new Link(); $link->addHead("1"); $link->printLink(); // 1$link->addHead("5"); $link->printLink(); // 5->1$link->addTail("9"); $link->printLink(); // 5->1->9$link->addTail("7"); $link->printLink(); // 5->1->9->7$link->add(3, "8"); $link->printLink(); // 5->1->9->8->7print_r("鏈表長度:" . $link->getLength() . "\n");$link->deleteFirst(); $link->printLink();$link->deleteLast(); $link->printLink();$link->deleteIndex(1); $link->printLink();print_r("鏈表長度:" . $link->getLength() . "\n");

總結

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

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

主站蜘蛛池模板: 真人一及毛片 | 欧美日韩精品久久 | 涩涩涩av| 欧美亚洲免费 | 深夜精品福利 | 久久国产精品系列 | 日本黄色播放器 | 尹人香蕉网 | 国产精品视频合集 | 日韩视频在线观看视频 | 邻家有女4完整版电影观看 欧美偷拍另类 | 91水蜜桃| 欧美成人免费一级人片100 | 真人毛片视频 | 18在线观看视频 | 成人做爰9片免费视频 | 久久99精品久久久久久园产越南 | 国产一级特黄aaa大片 | 国产精品无码无卡无需播放器 | 午夜精品久久久久久久无码 | 亚洲无线视频 | 你懂的日韩 | 永久av免费在线观看 | 国产精品毛片一区视频播 | 女同性做爰全过程 | 香蕉视频在线看 | 五月天久久综合 | 亚洲欧美一区二区三区四区五区 | 黄色片在哪看 | 大色av| 久久久久九九九 | 视频国产一区 | 中文字幕在线免费 | 男人把女人捅爽 | 无码国产精品96久久久久 | 老湿影院av | 天天摸日日摸狠狠添 | 你懂得在线 | 日韩激情小视频 | 午夜偷拍福利 | 欧美精品一区二区三区四区 | 久久视频黄色 | 视频一区国产精品 | 瑟瑟视频在线观看 | av在线免费网站 | 香蕉视频久久久 | 久久国语精品 | 色福利网 | 日韩性在线 | 免费看黄在线观看 | 日韩一区二区三区四区在线 | 国产 日韩 欧美 制服丝袜 | 精品一区二区三区视频 | 爱情岛av永久入口 | 国产免费福利视频 | 四虎成人精品永久免费av九九 | 免费a视频在线观看 | 波多野结衣大片 | www亚洲天堂| 又黄又爽视频在线观看 | av网站免费大全 | 91丨九色丨丰满 | 国产综合无码一区二区色蜜蜜 | 综合网伊人 | 91超碰免费在线 | 国产一区二区视频播放 | www.av免费 | 婷婷精品一区二区三区 | 九九热视频免费 | 一级二级毛片 | 成人综合在线观看 | 婷婷干| 成人爽站w47pw| 精品人妻无码一区二区三 | 欧美3p在线观看 | 成人在线高清 | 日本高清无吗 | 小视频在线免费观看 | 色久影院| 欧美精品乱人伦久久久久久 | 操屁股视频| 香蕉视频在线网址 | 欧美高清在线一区 | av青青 | 精品久久免费观看 | 黄色3级视频 | 国产一区二区91 | 欧美123| 国产精品久久久免费观看 | 性色av一区二区三区免费 | 99免费在线观看 | 91私拍| 黄色在线不卡 | 碧蓝之海动漫在线观看免费高清 | 天堂网在线看 | 另类小说一区二区 | 伊人亚洲 | 欧美被狂躁喷白浆精品 | 超碰加勒比 |