您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在PHP項目中實現一個鏈表功能,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
代碼如下:
class Hero
{
public $no;//排名
public $name;//名字
public $next=null;//$next是一個引用,指向另外一個Hero的對象實例
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 "沒有找到<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 "沒有找到<br>";
}
}
}
//創建head頭
$head = new Hero();
//第一個
$hero = new Hero(1,'111');
//連接
$head->next = $hero;
//第二個
$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);
關于怎么在PHP項目中實現一個鏈表功能就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。