PHP單鏈表的實現(xiàn)代碼
來源:易賢網 閱讀:817 次 日期:2016-08-15 15:13:25
溫馨提示:易賢網小編為您整理了“PHP單鏈表的實現(xiàn)代碼”,方便廣大網友查閱!

這篇文章主要介紹了Yii2 RESTful中api的使用及開發(fā)實例詳解的相關資料,需要的朋友可以參考下

單鏈表是一種鏈式存取的數據結構,用一組地址任意的存儲單元存放線性表中的數據元素。

單鏈表簡介

鏈表中的數據是以結點來表示的,每個結點的構成:元素(數據元素的映象) + 指針(指示后繼元素存儲位置),元素就是存儲數據的存儲單元,指針就是連接每個結點的地址數據。

關鍵代碼如下所示:

<?php

/**

* 單鏈表

*/

class Demo

{

private $id;

public $name;

public $next;

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

{

$this->id = $id;

$this->name = $name;

}

static public function show ($head)

{

$cur = $head;

while ($cur->next) {

echo $cur->next->id,'###',$cur->next->name,'<br />';

$cur = $cur->next;

}

echo '<hr />';

}

//尾插法

static public function push ($head, $node)

{

$cur = $head;

while (NULL != $cur->next) {

$cur = $cur->next;

}

$cur->next = $node;

return $head;

}

static public function insert($head, $node)

{

$cur = $head;

while (NULL != $cur->next) {

if ($cur->next->id > $node->id) {

break;

}

$cur = $cur->next;

}

$node->next = $cur->next;

$cur->next = $node;

return $head;

}

static public function edit($head, $node)

{

$cur = $head;

while (NULL != $cur->next) {

if ($cur->next->id == $node->id) {

break;

}

$cur = $cur->next;

}

$cur->next->name = $node->name;

return $head; 

}

static public function pop ($head, $node)

{

$cur = $head;

while (NULL != $cur->next) {

if ($cur->next == $node) {

break;

}

$cur = $cur->next;

}

$cur->next = $node->next;

return $head; 

}

}

$team = new Demo();

$node1 = new Demo(1, '唐三藏');

Demo::push($team, $node1);

$node1->name = '唐僧';

Demo::show($team);

// Demo::show($team);

$node2 = new Demo(2, '孫悟空');

Demo::insert($team, $node2);

// Demo::show($team);

$node3 = new Demo(5, '白龍馬');

Demo::push($team, $node3);

// Demo::show($team);

$node4 = new Demo(3, '豬八戒');

Demo::insert($team, $node4);

// Demo::show($team);

$node5 = new Demo(4, '沙和尚');

Demo::insert($team, $node5);

// Demo::show($team);

$node4->name = '豬悟能';//php對象傳引用,所以Demo::edit沒有必要

// unset($node4);

// $node4 = new Demo(3, '豬悟能');

// Demo::edit($team, $node4);

Demo::pop($team, $node1);

Demo::show($team);

以上所述是小編給大家介紹的PHP單鏈表的實現(xiàn)代碼,希望對大家有所幫助

更多信息請查看網絡編程
易賢網手機網站地址:PHP單鏈表的實現(xiàn)代碼

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網