php单链表实现_php单链表是一种很重要的数据结构,虽然web开发中用到的不多,但 最好还是了解下为好.....

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."
";        $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);?>