本文實例講述了PHP簡單實現(xiàn)循環(huán)鏈表功能。分享給大家供大家參考,具體如下:
概述:
循環(huán)鏈表是另一種形式的鏈式存貯結(jié)構(gòu)。它的特點是表中最后一個結(jié)點的指針域指向頭結(jié)點,整個鏈表形成一個環(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;$i11;$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;
}
?>
運行結(jié)果:
12345678910
--------------------------
36927185104
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- PHP雙向鏈表定義與用法示例
- php實現(xiàn)單鏈表的實例代碼
- 淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)
- PHP小教程之實現(xiàn)雙向鏈表
- PHP環(huán)形鏈表實現(xiàn)方法示例
- PHP中模擬鏈表和鏈表的基本操作示例
- php 數(shù)據(jù)結(jié)構(gòu)之鏈表隊列
- PHP實現(xiàn)鏈表的定義與反轉(zhuǎn)功能示例