91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中鏈表的詳細介紹

發布時間:2021-08-04 17:20:32 來源:億速云 閱讀:112 作者:chen 欄目:web開發

這篇文章主要介紹“php中鏈表的詳細介紹”,在日常操作中,相信很多人在php中鏈表的詳細介紹問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”php中鏈表的詳細介紹”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

鏈表:是由一系列節點構成的數據結構。

每個節點包含兩個部分:一個是存儲數據的數據域;一個是存儲下一個節點的地址的指針域。

以下是本人用PHP實現的一個簡單的鏈表案例,僅供學習,請多多指教。

<?php

/*

節點類

**/

class listnode

{

public $id;//節點ID

public $name;//節點名稱

public $next;//下一個節點

//節點構造函數

public function __construct($id,$name)

{

$this->id=$id;

$this->name=$name;

$this->next=null;

}

}

/*

鏈表類

**/

class linklist

{

private $header;

//鏈表構造函數

public function __construct($id=null,$name=null)

{

$this->header=new listnode($id,$name);

}

//增加節點

public function add_list_node($id,$name)

{

$node=new listnode($id,$name);

$tmp=$this->header;

$exists=false;

while($tmp->next!==null)

{

if($tmp->next->id == $node->id)

{

$exists=true;

break;

}

if($tmp->next->id > $node->id )

{

break;

}

$tmp=$tmp->next;

}

if(!$exists)

{

$node->next=$tmp->next;

$tmp->next=$node;

}

else

{

echo '節點ID不能中復';

}

}

//輸出鏈表

public function display()

{

$tmp=$this->header;

if($tmp->next===null)

{

echo '鏈表為空!';

return ;

}

while($tmp->next!==null)

{

echo 'id:'.$tmp->next->id.'  name:'.$tmp->next->name.'-->';

$tmp=$tmp->next;

}

}

//查找節點

public function find($id)

{

$tmp=$this->header;

if($tmp->next===null)

{

echo '鏈表為空,沒有找到節點<br/>';

}

while($tmp->next!==null)

{

if($tmp->next->id=$id)

{

return $tmp->next;

}

$tmp=$tmp->next;

}

}

//刪除節點

public function delnode($id)

{

$tmp=$this->header;

if($tmp->next===null)

{

echo '鏈表為空!<br/>';

return ;

}

while($tmp->next!==null)

{

if($tmp->next->id==$id)

{

$tmp->next=$tmp->next->next;

break;

}

$tmp=$tmp->next;

}

}

//更新節點NAME

public function updatenode($id,$name)

{

$tmp=$this->header;

if($tmp->next===null)

{

$node=new listnode($id,$name);

$node->next=$tmp->next;

$tmp->next=$node;

}

$flag=false;

while($tmp->next!==null)

{

if($tmp->next->id==$id)

{

$tmp->next->name=$name;

$flag=true;

break;

}

$tmp=$tmp->next;

}

if(!$flag)

{

$node=new listnode($id,$name);

$node->next=$tmp->next;

$tmp->next=$node;

}

}

}

header('content-type:text/html;charset=utf-8');

$linklist=new linklist();

$linklist->display();

echo '<br/>';

$linklist->updatenode(9,'節點9');

echo '<br/>';

$linklist->display();

echo '<br/>';

$linklist->add_list_node(1,'節點1');

$linklist->display();

echo '<br/>';

$linklist->add_list_node(2,'節點2');

$linklist->add_list_node(3,'節點3');

$linklist->add_list_node(4,'節點4');

$linklist->add_list_node(5,'節點5');

$linklist->add_list_node(6,'節點6');

$linklist->display();

$linkl=$linklist->find(1);

echo '<br/>';

echo $linkl->id.'  name:'.$linkl->name;

$linklist->delnode(3);

echo '<br/>';

$linklist->display();

echo '<br/>';

$linklist->add_list_node(3,'節點3');

echo '<br/>';

$linklist->display();

$linklist->add_list_node(8,'節點8');

echo '<br/>';

$linklist->display();

$linklist->add_list_node(7,'節點7');

echo '<br/>';

$linklist->display();

$linklist->delnode(8);

echo '<br/>';

$linklist->display();

echo '<br/>';

$linklist->updatenode(9,'節點9');

echo '<br/>';

$linklist->display();

echo '<br/>';

?>

到此,關于“php中鏈表的詳細介紹”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

牟定县| 昭苏县| 贵溪市| 北辰区| 新昌县| 武宁县| 芜湖市| 辛集市| 手游| 若尔盖县| 荆州市| 齐河县| 大化| 绵阳市| 普陀区| 沾益县| 肇源县| 潮安县| 顺平县| 绍兴市| 天门市| 炉霍县| 安塞县| 大埔区| 北安市| 兴城市| 桦甸市| 根河市| 清苑县| 昌江| 凯里市| 达州市| 林芝县| 云南省| 阳东县| 随州市| 黄浦区| 武邑县| 天等县| 芜湖市| 江油市|