单链表是一种很重要的数据结构,虽然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);?>