php单链怎么实现?教你轻松实现!

这篇文章内容给大伙儿产生的内容是有关php单链如何完成?php单链的完成编码,有一定的实用价值,有必须 的盆友能够参照一下,期待对你有一定的协助。
//单独节点
classnode{
//复位自变量,包含储存的内容和下一个数据信息的表针
public$id=0;
public$data='';
public$next=null;
//构造方法,设定储存内容的数据信息
publicfunction._construct($id,$nodedata){
$this->id=$id;
$this->data=$nodedata;
}
}
classsingleLink{
public$head='';
public$size=0;
publicfunctioninsert($id,$value,$prenodeid=0){
$node=newnode($id,$value);
//空链表,立即添加
if($this->size==0){
$this->head=$node;
}elseif($prenodeid==0){
//要不是空链表,且并沒有特定在某一个节点前添加
//则在当今节点前添加
$node->next=$this->head;
$this->head=$node;
}else{
//在某一节点后添加新节点
$cruntnode=$this->head;
while($cruntnode->next!=null){
if($cruntnode->next->id==$prenodeid){
$node->next=$cruntnode->next;
$cruntnode->next=$node;
break;
}
$cruntnode=$cruntnode->next;
}
}
$this->size++;
return$this;
}
publicfunctionedit($id,$value){
$flag=false;
$current=$this->head;
while(@$current->id!=null){
if($current->id==$id){
$current->data=$value;
$flag=true;
break;
}
$current=$current->next;
}
return$flag;
}
publicfunctionget($id=0){
$current=$this->head;
while(@$current->id!=null){
if($id!=0&&$current->id==$id){
$node=$current;
break;
}else{
$node[]=array($current->id,$current->data);
}
$current=$current->next;
}
return$node;
}
publicfunctionsort(){
}
publicfunctiondelete($id){
$flag=false;
$current=$this->head;
while(@$current->id!=null){
if($current->next->id==$id){
$current->next=$current->next->next;
$this->size--;
$flag=true;
break;
}
$current=$current->next;
}
return$flag;
}
}
$linklist=newsingleLink();
$linklist->insert(1,'stark');
$linklist->insert(2,'shudong.wang');
$linklist->insert(3,'rdhub.cn');
$linklist->insert(4,'haha4');
$linklist->insert(5,'haha5');
$linklist->insert(6,'haha6');
$linklist->insert(7,'haha7');
$linklist->delete(5);
$linklist->insert(8,'haha8')->insert(9,'haha9')->insert(10,'haha10')->insert(11,'haha11');
var_dump($linklist);
非本网作品均来自互联网,转载目的在于传递更多信息,并不**本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其他问题,请及时与本网联系,我们将及时删除内容。