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

首頁 > 開發 > PHP > 正文

php實現單鏈表的實例代碼

2024-05-04 23:08:23
字體:
來源:轉載
供稿:網友

復制代碼 代碼如下:


<?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 ();
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大悟县| 肥城市| 扎鲁特旗| 郑州市| 通渭县| 沙田区| 扬州市| 永寿县| 溧水县| 大埔区| 兴城市| 五台县| 渝北区| 西充县| 东宁县| 锡林郭勒盟| 朝阳市| 自治县| 和平县| 临汾市| 桐庐县| 云南省| 万源市| 开阳县| 郓城县| 中牟县| 响水县| 信宜市| 雷山县| 临泽县| 太保市| 海南省| 汕头市| 井冈山市| 壤塘县| 满城县| 博罗县| 保亭| 奉新县| 平顶山市| 吐鲁番市|