PHP小教程之實(shí)現(xiàn)鏈表
看了很久數(shù)據(jù)結(jié)構(gòu)但是沒(méi)有怎么用過(guò),在網(wǎng)上看到了關(guān)于PHP的數(shù)據(jù)結(jié)構(gòu),學(xué)習(xí)了一下,與大家一起分享一下。
class Hero
{
public $no;//排名
public $name;//名字
public $next=null;//$next是一個(gè)引用,指向另外一個(gè)Hero的對(duì)象實(shí)例
public function __construct($no='',$name='')
{
$this->no=$no;
$this->name=$name;
}
static public function showList($head)
{
$cur = $head;
while($cur->next!=null)
{
echo "排名:".$cur->next->no.",名字:".$cur->next->name."<br>";
$cur = $cur->next;
}
}
//普通插入
static public function addHero($head,$hero)
{
$cur = $head;
while($cur->next!=null)
{
$cur = $cur->next;
}
$cur->next=$hero;
}
//有序的鏈表的插入
static public function addHeroSorted($head,$hero)
{
$cur = $head;
$addNo = $hero->no;
while($cur->next->no <= $addNo)
{
$cur = $cur->next;
}
/*$tep = new Hero();
$tep = $cur->next;
$cur->next = $hero;
$hero->next =$tep;*/
$hero->next=$cur->next;
$cur->next=$hero;
}
static public function deleteHero($head,$no)
{
$cur = $head;
while($cur->next->no != $no && $cur->next!= null)
{
$cur = $cur->next;
}
if($cur->next->no != null)
{
$cur->next = $cur->next->next;
echo "刪除成功<br>";
}
else
{
echo "沒(méi)有找到<br>";
}
}
static public function updateHero($head,$hero)
{
$cur = $head;
while($cur->next->no != $hero->no && $cur->next!= null)
{
$cur = $cur->next;
}
if($cur->next->no != null)
{
$hero->next = $cur->next->next;
$cur->next = $hero;
echo "更改成功<br>";
}
else
{
echo "沒(méi)有找到<br>";
}
}
}
//創(chuàng)建head頭
$head = new Hero();
//第一個(gè)
$hero = new Hero(1,'111');
//連接
$head->next = $hero;
//第二個(gè)
$hero2 = new Hero(3,'333');
//連接
Hero::addHero($head,$hero2);
$hero3 = new Hero(2,'222');
Hero::addHeroSorted($head,$hero3);
//顯示
Hero::showlist($head);
//刪除
Hero::deleteHero($head,4);
//顯示
Hero::showlist($head);
//更改
$hero4=new Hero(2,'xxx');
Hero::updateHero($head,$hero4);
//顯示
Hero::showlist($head);
有序的插入的話需要遍歷一遍鏈表,鏈表的一些知識(shí)就不介紹了哈。這里主要分享一下代碼。
- php數(shù)據(jù)結(jié)構(gòu)之順序鏈表與鏈?zhǔn)骄€性表示例
- php線性表順序存儲(chǔ)實(shí)現(xiàn)代碼(增刪查改)
- php線性表的入棧與出棧實(shí)例分析
- PHP+MySQL統(tǒng)計(jì)該庫(kù)中每個(gè)表的記錄數(shù)并按遞減順序排列的方法
- php實(shí)現(xiàn)單鏈表的實(shí)例代碼
- 淺談PHP鏈表數(shù)據(jù)結(jié)構(gòu)(單鏈表)
- PHP小教程之實(shí)現(xiàn)雙向鏈表
- PHP實(shí)現(xiàn)單鏈表翻轉(zhuǎn)操作示例
- PHP鏈表操作簡(jiǎn)單示例
- PHP環(huán)形鏈表實(shí)現(xiàn)方法示例
- php實(shí)現(xiàn)的順序線性表示例
相關(guān)文章
php獲取qq用戶(hù)昵稱(chēng)和在線狀態(tài)(實(shí)例分析)
獲取qq在線狀態(tài)官方已有API提供了,我們用另一種方法獲取qq用戶(hù)昵稱(chēng)和在線狀態(tài),主要是為學(xué)習(xí)PHP。2013-10-10PHP 中 DOMDocument保存xml時(shí)中文出現(xiàn)亂碼問(wèn)題的解決方案
這篇文章主要介紹了PHP 中 DOMDocument保存xml時(shí)中文出現(xiàn)亂碼問(wèn)題的解決方案,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09tp5修改(實(shí)現(xiàn)即點(diǎn)即改)
今天小編就為大家分享一篇tp5修改(實(shí)現(xiàn)即點(diǎn)即改),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10TimeHelper簡(jiǎn)單快捷PHP日期時(shí)間助手類(lèi)庫(kù)使用詳解
這篇文章主要為大家介紹了TimeHelper簡(jiǎn)單快捷PHP日期時(shí)間助手類(lèi)庫(kù)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Laravel6.0.4中將添加計(jì)劃任務(wù)事件的方法步驟
此版本包括計(jì)劃任務(wù)事件、新的 JSON 斷言方法和所有最新更改。這篇文章主要介紹了Laravel6.0.4中將添加計(jì)劃任務(wù)事件的方法步驟,感興趣的可以了解一下2019-10-10PHP實(shí)現(xiàn)今天是星期幾的幾種寫(xiě)法
今天是星期幾的寫(xiě)法有很多,本文整理了常用的三種,感興趣的朋友可以了解下2013-09-09smarty學(xué)習(xí)筆記之常見(jiàn)代碼段用法總結(jié)
這篇文章主要介紹了smarty學(xué)習(xí)筆記之常見(jiàn)代碼段用法,結(jié)合實(shí)例形式總結(jié)分析了Smarty常見(jiàn)代碼段的含義與使用方法,需要的朋友可以參考下2016-03-03thinkPHP3.2.3實(shí)現(xiàn)阿里大于短信驗(yàn)證的方法
這篇文章主要介紹了thinkPHP3.2.3實(shí)現(xiàn)阿里大于短信驗(yàn)證的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06