php单链表实现代码分享
本文实例为大家分享了php单链表的具体代码,供大家参考,具体内容如下
<?php
/**
*单链表
*/
classDemo
{
private$id;
public$name;
public$next;
publicfunction__construct($id='',$name='')
{
$this->id=$id;
$this->name=$name;
}
staticpublicfunctionshow($head)
{
$cur=$head;
while($cur->next){
echo$cur->next->id,'###',$cur->next->name,'<br/>';
$cur=$cur->next;
}
echo'<hr/>';
}
//尾插法
staticpublicfunctionpush($head,$node)
{
$cur=$head;
while(NULL!=$cur->next){
$cur=$cur->next;
}
$cur->next=$node;
return$head;
}
staticpublicfunctioninsert($head,$node)
{
$cur=$head;
while(NULL!=$cur->next){
if($cur->next->id>$node->id){
break;
}
$cur=$cur->next;
}
$node->next=$cur->next;
$cur->next=$node;
return$head;
}
staticpublicfunctionedit($head,$node)
{
$cur=$head;
while(NULL!=$cur->next){
if($cur->next->id==$node->id){
break;
}
$cur=$cur->next;
}
$cur->next->name=$node->name;
return$head;
}
staticpublicfunctionpop($head,$node)
{
$cur=$head;
while(NULL!=$cur->next){
if($cur->next==$node){
break;
}
$cur=$cur->next;
}
$cur->next=$node->next;
return$head;
}
}
$team=newDemo();
$node1=newDemo(1,'唐三藏');
Demo::push($team,$node1);
$node1->name='唐僧';
Demo::show($team);
//Demo::show($team);
$node2=newDemo(2,'孙悟空');
Demo::insert($team,$node2);
//Demo::show($team);
$node3=newDemo(5,'白龙马');
Demo::push($team,$node3);
//Demo::show($team);
$node4=newDemo(3,'猪八戒');
Demo::insert($team,$node4);
//Demo::show($team);
$node5=newDemo(4,'沙和尚');
Demo::insert($team,$node5);
//Demo::show($team);
$node4->name='猪悟能';//php对象传引用,所以Demo::edit没有必要
//unset($node4);
//$node4=newDemo(3,'猪悟能');
//Demo::edit($team,$node4);
Demo::pop($team,$node1);
Demo::show($team);
以上就是本文的全部内容,希望对大家实现php单链表有所帮助。