加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP实现链表创建-插入-删除-查找

发布时间:2020-05-25 22:43:15 所属栏目:PHP 来源:互联网
导读:本文章向大家介绍PHP实现链表创建-插入-删除-查找,需要的朋友可以参考一下

链表获取元素


1.声明结点p指向链表第一个结点,j初始化1开始


2.j


3.如果到末尾了,p还为null,就是没有查找到


插入元素


1.插入元素和查找类似,找到位置后


2.生成新的结点s,s->next=p->next p->next=s;

删除元素


1.删除元素,找到位置后


2.绕过一下,q=p->next p->next=q->next;

class Node{

public $data;

public $next;

}

//创建一个链表

$linkList=new Node();

$linkList->next=null;

$temp=$linkList;

for($i=1;$i<=10;$i++){

$node=new Node();

$node->data="aaa{$i}";

$node->next=null;

$temp->next=$node;

$temp=$node;

}

//获取元素

function getEle($linkList,$i,&$e){

$p=$linkList->next;

//寻找结点标准语句

$j=1;

while($p && $j<$i){

$p=$p->next;

++$j;

}

if(!$p || $j>$i){

return false;

}

$e=$p->data;

return true;

}

//插入元素

function listInsert(&$linkList,$e){

$p=$linkList;

$j=1;

while($p && $j<$i){

$p=$p->next;

++$j;

}

if(!$p || $j>$i){

return false;

}

$s=new Node();

$s->data=$e;

//插入元素标准语句

$s->next=$p->next;

$p->next=$s;

return true;

}

//删除元素

function listDelete(&$linkList,&$e){

$p=$linkList;

$j=1;

//注意这里的判断$p->next为真,主要是后面要把$p->next指向$p->next->next

while($p->next && $j<$i){

$p=$p->next;

++$j;

}

if(!$p->next || $j>$i){

return false;

}

$q=$p->next;//这个才是当前元素

$e=$q->data;

$p->next=$q->next;

return true;

}

$e="";

//获取元素

getEle($linkList,5,$e);

var_dump($e);

//插入元素

listInsert($linkList,"taoshihan");

//删除元素

listDelete($linkList,1,$e);

var_dump($e);

var_dump($linkList);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读