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

[PHP] 数据结构-链表创建-插入-删除-查找的PHP实现

发布时间:2020-05-25 03:12:16 所属栏目:PHP 来源:互联网
导读:链表获取元素1.声明结点p指向链表第一个结点,j初始化1开始2.ji,p指向下一结点,因为此时p是指向的p的next,因此不需要等于3.如果到末尾了,p还为null,就是没有查找到插入元素1.插入元素和查找类似,找到位置后2.生成新的结点s, s-next=p-next p-next=s;删除元素1.

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

插入元素1.插入元素和查找类似,找到位置后2.生成新的结点s,s->next=p->next p->next=s;

删除元素1.删除元素,找到位置后2.绕过一下,q=p->next p->next=q->next;

<div class="cnblogs_Highlighter">
<pre class="brush:php;gutter:true;"><?php
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);

  

(编辑:安卓应用网)

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

    推荐文章
      热点阅读