利用PHP怎么插入与删除双链表

  介绍

利用PHP怎么插入与删除双链表?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>概述:

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱,所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。

<强>实现代码:

& lt; ? php    {class 节点   public 才能:美元;   public 才能;下一美元;   public 才能;$数据;   public 才能;function  __construct(数据,prev=零美元,美元=null) {   ,,,这美元→数据=https://www.yisu.com/zixun/美元数据;   $ this -> prev=:美元;   下=$ $ this -> next;   }   }   类doubleLinkList {   私人美元头;   公共函数__construct ()   {   $ this ->头=新节点(“头”,空,空);   }//插入节点   公共函数insertLink(元数据){   $ p=新节点($ data,空,空);   美元q=$ this ->主管->下一个;   $ r=$ this ->头;   而(q) {   如果(q ->数据>美元数据){   美元的q ->: -> next=$ p;   $ p -> prev=$ ->:;   下=$ $ p ->问;   q -> prev=p美元;   其他}{   r=问美元;$ q=$ q -> next;   }   }   如果美元(q==null) {   未来=$ p $ r ->;   $ p -> prev=$ r;   }   }//从头输出节点   公共函数printFromFront () {   $ p=$ this ->主管-> next;   字符串美元=" ";   虽然($ p) {   弦弦。美元=$ ?”、“:””;   字符串。美元=$ p ->数据;   $ p=$ p -> next;   }   echo $字符串。”
”;   }//从尾输出节点   公共函数printFromEnd () {   $ p=$ this ->主管-> next;   $ r=$ this ->头;   虽然($ p) {   $ r=$ p; $ p=$ p -> next;   }   字符串美元=" ";   而($ r) {   弦弦。美元=$ ?”、“:””;   字符串。美元=$ r ->数据;   $ r=$ r ->:;   }   echo $字符串。”
”;   }   公共函数delLink(元数据){   $ p=$ this ->主管-> next;   如果(! $ p)   返回;   虽然($ p) {   如果美元($ p ->数据==数据)   {   $ p ->下一步-> prev=$ p ->:;   $ p ->上一页下=$ p -> ->下一页;   设置($ p);   返回;   }   其他{   $ p=$ p -> next;   }   }   如果($ p==null)   回应“没有值为{$ data}的节点”;   }   }   $=new doubleLinkList链接();   $链接-> insertLink (1);   $链接-> insertLink (2);   $链接-> insertLink (3);   $链接-> insertLink (4);   $链接-> insertLink (5);   $链接-> delLink (3);   $链接-> printFromFront ();   $链接-> printFromEnd ();   $链接-> delLink (6);

<强>运行结果:

1, 2, 4, 5   5、4、2、1,头   没有值为6的节点

看完上述内容,你们掌握利用PHP怎么插入与删除双链表的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

利用PHP怎么插入与删除双链表