php連結串列
<?php
class Node{//節點類
public $next;
public $value;
public function __construct($node)
{
$this->value = $node;
}
}
class Link{//連結串列類
public $head = null;
public function __construct($node)
{
if ($node instanceof Node){
$this->head = $node;
}
}
public function addNode($node){//尾插法
$cur = $this->head;
while($cur->next!=null){
$cur = $cur->next;
}
$cur->next = $node;
}
public function linkList(){
$cur = $this->head;
while($cur!=null){
echo $cur->value."<br>";
$cur = $cur->next;
}
}
}
$head = new Node(1);
$link = new Link($head);
$link->addNode(new Node(2));
$link->addNode(new Node(3));
$link->addNode(new Node(4));
$link->addNode(new Node(5));
$newLink = reverse($link);
$newLink->linkList();
function reverse($link){//單連結串列逆序
$pre = $link->head;
$cur = $pre->next;
$next= null;
while($cur!=null){
$next = $cur->next;
$cur->next = $pre;
$pre = $cur;
$cur = $next;
}
$link->head->next = null;//這裡注意,下面好像已經重新賦值,這句話沒意義???類的物件這種重新賦值,類似於指標
$link->head = $pre;//這裡的賦值,類似於指標,原來的頭節點其實沒有變化
return $link;
}
相關文章
- PHP 使用連結串列實現對映PHP
- 連結串列 - 單向連結串列
- 連結串列-迴圈連結串列
- 連結串列-雙向連結串列
- 連結串列4: 迴圈連結串列
- 連結串列-雙向通用連結串列
- 連結串列-單連結串列實現
- php實現基本資料結構之連結串列PHP資料結構
- 連結串列-雙向非通用連結串列
- 【LeetCode】->連結串列->通向連結串列自由之路LeetCode
- 連結串列入門與插入連結串列
- Leetcode_86_分割連結串列_連結串列LeetCode
- 資料結構-單連結串列、雙連結串列資料結構
- 連結串列
- [資料結構]連結串列的實現在PHP中資料結構PHP
- [資料結構] 連結串列的實現在 PHP 中資料結構PHP
- 資料結構之php實現單向連結串列資料結構PHP
- LeetCode-Python-86. 分隔連結串列(連結串列)LeetCodePython
- 實戰PHP資料結構基礎之單連結串列PHP資料結構
- 實戰PHP資料結構基礎之雙連結串列PHP資料結構
- 單連結串列建立連結串列出現問題
- **203.移除連結串列元素****707.設計連結串列****206.反轉連結串列**
- 連結串列逆序
- 2、連結串列
- 連結串列(python)Python
- 重排連結串列
- 單連結串列
- 分割連結串列
- (一)連結串列
- 資料結構與演算法——連結串列 Linked List(單連結串列、雙向連結串列、單向環形連結串列-Josephu 問題)資料結構演算法
- 【LeetCode-連結串列】面試題-反轉連結串列LeetCode面試題
- 資料結構之連結串列:206. 反轉連結串列資料結構
- 反轉連結串列、合併連結串列、樹的子結構
- 劍指offer-從尾到頭列印連結串列-phpPHP
- [連結串列】2.輸入一個連結串列,反轉連結串列後,輸出新連結串列的表頭。[多益,位元組考過]
- 程式碼隨想錄第3天 | 連結串列 203.移除連結串列元素,707.設計連結串列,206.反轉連結串列
- 【圖解連結串列類面試題】移除連結串列元素圖解面試題
- 【圖解連結串列類面試題】環形連結串列圖解面試題