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单链表有所帮助。