單鏈表顧名思義就是乙個鏈式資料結構,它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。如下圖。
首先,我們寫出鍊錶節點的類。單鏈表中的每乙個節點,都儲存其資料域和後驅指標
//鍊錶節點
class node }
鍊錶中還有兩個特別重要的方法,插入和刪除。插入需要找到插入的位置,把前乙個元素的next指標指向被插入的節點,並將被插入節點的next指標指向後乙個節點,如下圖左側所示。而刪除則是把前乙個節點的next指標指向後乙個節點,並返回被刪除元素的資料內容,如下圖右側所示。
//單鏈表
class singellinklist
//獲取鍊錶長度
public function getlinklength()
return $i;
} //新增節點資料
public function addlink($node)
$current = $current->next;
} $node->next = $current->next;
$current->next = $node;
} //刪除鍊錶節點
public function dellink($id)
$current = $current->next;
} if ($flag) else
}//判斷連表是否為空
public function isempty()
//清空鍊錶
public function clear()
//獲取鍊錶
public function getlinklist()
while ( $current->next != null )
$current = $current->next;
} } //獲取節點名字
public function getlinknamebyid($id)
while ( $current->next != null )
$current = $current->next;
} return $current->name;
} //更新節點名稱
public function updatelink($id, $name)
while ( $current->next != null )
$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 「
-----------刪除節點--------------
」;$lists->dellink ( 5 );
$lists->getlinklist ();
echo 「
-----------更新節點名稱--------------
」;$lists->updatelink ( 3, 「222222」 );
$lists->getlinklist ();
echo 「
-----------獲取節點名稱--------------
」;echo $lists->getlinknamebyid ( 5 );
echo 「
-----------獲取鍊錶長度--------------
」;echo $lists->getlinklength ();
用PHP實現的單鏈表
單鏈表顧名思義就是乙個鏈式資料結構,它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。如下圖。鍊錶節點 class node 鍊錶中還有兩個特別重要的方法,插入和刪除。插入需要找到插入的位置,把前乙個元素的next指標指向被插入的節點,並將被插入節點的next指標指向後乙個節點,如下圖左...
用PHP實現的單鏈表
首先,我們寫出鍊錶節點的類。單鏈表中的每乙個節點,都儲存其資料域和後驅指標 php view plain copy 鍊錶節點 class node 鍊錶中還有兩個特別重要的方法,插入和刪除。插入需要找到插入的位置,把前乙個元素的next指標指向被插入的節點,並將被插入節點的next指標指向後乙個節點...
php單鏈表實現
php單鏈表實現 單鏈表 class hero function addhero head,hero else if cur next no hero no else if flag 增加function showhero head 刪除特定編號的 function delhero head,no ...