国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php實現單鏈表的實例代碼

2024-05-04 21:53:12
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:www.CuoXIn.com

<?php

//鏈表節點
class node {
public $id; //節點id
public $name; //節點名稱
public $next; //下一節點

public function __construct($id, $name) {
$this->id = $id;
$this->name = $name;
$this->next = null;
}
}

//單鏈表
class singelLinkList {
private $header; //鏈表頭節點

//構造方法
public function __construct($id = null, $name = null) {
$this->header = new node ( $id, $name, null );
}

//獲取鏈表長度
public function getLinkLength() {
$i = 0;
$current = $this->header;
while ( $current->next != null ) {
$i ++;
$current = $current->next;
}
return $i;
}

//添加節點數據
public function addLink($node) {
$current = $this->header;
while ( $current->next != null ) {
if ($current->next->id > $node->id) {
break;
}
$current = $current->next;
}
$node->next = $current->next;
$current->next = $node;
}

//刪除鏈表節點
public function delLink($id) {
$current = $this->header;
$flag = false;
while ( $current->next != null ) {
if ($current->next->id == $id) {
$flag = true;
break;
}
$current = $current->next;
}
if ($flag) {
$current->next = $current->next->next;
} else {
echo "未找到id=" . $id . "的節點!<br>";
}
}

//獲取鏈表
public function getLinkList() {
$current = $this->header;
if ($current->next == null) {
echo ("鏈表為空!");
return;
}
while ( $current->next != null ) {
echo 'id:' . $current->next->id . ' name:' . $current->next->name . "<br>";
if ($current->next->next == null) {
break;
}
$current = $current->next;
}
}

//獲取節點名字
public function getLinkNameById($id) {
$current = $this->header;
if ($current->next == null) {
echo "鏈表為空!";
return;
}
while ( $current->next != null ) {
if ($current->id == $id) {
break;
}
$current = $current->next;
}
return $current->name;
}

//更新節點名稱
public function updateLink($id, $name) {
$current = $this->header;
if ($current->next == null) {
echo "鏈表為空!";
return;
}
while ( $current->next != null ) {
if ($current->id == $id) {
break;
}
$current = $current->next;
}
return $current->name = $name;
}
}

$lists = new singelLinkList ();
$lists->addLink ( new node ( 5, 'eeeeee' ) );
$lists->addLink ( new node ( 1, 'aaaaaa' ) );
$lists->addLink ( new node ( 6, 'ffffff' ) );
$lists->addLink ( new node ( 4, 'dddddd' ) );
$lists->addLink ( new node ( 3, 'cccccc' ) );
$lists->addLink ( new node ( 2, 'bbbbbb' ) );
$lists->getLinkList ();
echo "<br>-----------刪除節點--------------<br>";
$lists->delLink ( 5 );
$lists->getLinkList ();

echo "<br>-----------更新節點名稱--------------<br>";
$lists->updateLink ( 3, "222222" );
$lists->getLinkList ();

echo "<br>-----------獲取節點名稱--------------<br>";
echo $lists->getLinkNameById ( 5 );

echo "<br>-----------獲取鏈表長度--------------<br>";
echo $lists->getLinkLength ();
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淳化县| 白沙| 阿合奇县| 理塘县| 辽宁省| 大丰市| 南溪县| 大英县| 夏津县| 中阳县| 黔西县| 沙田区| 溆浦县| 自贡市| 衡水市| 舟山市| 白水县| 绿春县| 雷山县| 鄂温| 三原县| 博乐市| 贡觉县| 抚州市| 丰镇市| 行唐县| 保康县| 石首市| 托克托县| 惠来县| 南皮县| 伽师县| 兴化市| 余庆县| 黄大仙区| 怀安县| 于田县| 渭南市| 赞皇县| 钟祥市| 察哈|