用PHP實現的單鏈表

2021-09-25 13:16:52 字數 2101 閱讀 4535

單鏈表顧名思義就是乙個鏈式資料結構,它有乙個表頭,並且除了最後乙個節點外,所有節點都有其後繼節點。如下圖。

首先,我們寫出鍊錶節點的類。單鏈表中的每乙個節點,都儲存其資料域和後驅指標

//鍊錶節點

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 ...