爱程序网

php单链表实现

来源: 阅读:

php单链表实现

<?php//单链表class Hero{public $no;public $name; public $nickname;public $next=null;function __construct($no='',$name=''){$this->no=$no;$this->name=$name;  }}function addHero($head,$Hero){    $cur=$head;    $flag=true;    while ($cur->next!=null) {        if($cur->next->no>$Hero->no){            $tmp=$cur->next;            $cur->next=$Hero;            $Hero->next=$tmp;            $flag=false;break;        }else if($cur->next->no==$Hero->no){echo "该位置已有人,不允许占位";$flag=false;break;}        else{ $cur=$cur->next;}    }     if($flag){$cur->next=$Hero;}}//增加function showHero($head){    $cur=$head;    while($cur->next!=null){                echo $cur->next->no.":".$cur->next->name."<br/>";        $cur=$cur->next;     } }//删除特定编号的 function delHero($head,$no){     $cur=$head;     while($cur->next!=null){         if($cur->next->no==$no)             {if($cur->next->next)$cur->next=$cur->next->next;                 else $cur->next=null;                 break;             }             $cur=$cur->next;     } } //查找特定编号的信息 function findHero($head,$no){     $cur=$head;     while($cur->next!=null){         if($cur->next->no==$no){break;}         $cur=$cur->next;     }     echo$cur->next->name; } //改特定编号的信息 function updateHero($head,$no,$name){     $cur=$head;     while($cur->next!=null){         if($cur->next->no==$no){break;}         $cur=$cur->next;     }$cur->next->name=$name; }$head=new Hero();$Hero=new Hero(1,"宋江");addHero($head,$Hero);$Hero=new Hero(6,"林冲");addHero($head,$Hero);$Hero=new Hero(2,"吴用");addHero($head,$Hero);$Hero=new Hero(4,"李逵");addHero($head,$Hero);showHero($head);//删除4号delHero($Hero,4);//查找6号findHero($head,6);// 修改6号updateHero($Hero,6,"林哥哥");showHero($head);?>

相关文章列表: