PHP簡單實現(xiàn)循環(huán)鏈表功能示例
更新時間:2017年11月10日 10:57:57 作者:幻世2012
這篇文章主要介紹了PHP簡單實現(xiàn)循環(huán)鏈表功能,簡單描述了循環(huán)鏈表的概念、功能并結合實例形式分析了php定義及使用循環(huán)鏈表的相關操作技巧,需要的朋友可以參考下
本文實例講述了PHP簡單實現(xiàn)循環(huán)鏈表功能。分享給大家供大家參考,具體如下:
概述:
循環(huán)鏈表是另一種形式的鏈式存貯結構。它的特點是表中最后一個結點的指針域指向頭結點,整個鏈表形成一個環(huán)。
如下圖所示:

實現(xiàn)代碼:
<?php
class node{
public $data;
public $link;
public function __construct($data=null,$link=null){
$this->data=$data;
$this->link=$link;
}
}
class cycleLinkList{
public $head;
public function __construct($data,$link=null){
$this->head=new node($data,$link);
$this->head->link=$this->head;
}
public function insertLink($data){
$p=new node($data);
$q=$this->head->link;
$r=$this->head;
if($q==$r)
{
$q->link=$p;
$p->link=$q;
return;
}
while($q!=$this->head){
$r=$q;$q=$q->link;
}
$r->link=$p;
$p->link=$this->head;
}
}
$linklist=new cycleLinkList(1);
for($i=2;$i<11;$i++){
$linklist->insertLink($i);
}
$q=$linklist->head->link;
echo $linklist->head->data;
while($q!=$linklist->head){
echo $q->data;
$q=$q->link;
}
echo "<br>--------------------------<br>";
$p=$linklist->head;
$r=$p;
$n=10;
$i=2;
while($n)
{
while(0!=$i){
$r=$p;$p=$p->link;
$i--;
}
echo $p->data;
$r->link=$p->link;
$tmp=$p;
$p=$p->link;
unset($tmp);
$n--;
$i=2;
}
?>
運行結果:
12345678910 -------------------------- 36927185104
更多關于PHP相關內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數(shù)學運算技巧總結》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
學習php設計模式 php實現(xiàn)橋梁模式(bridge)
這篇文章主要介紹了php設計模式中的橋梁模式,使用php實現(xiàn)橋梁模式,感興趣的小伙伴們可以參考一下2015-12-12

