欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 编程语言 > php >内容正文

php

用php实现单向链表结构 -凯发k8官方网

发布时间:2023/12/31 php 31 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 用php实现单向链表结构 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

链表的结构是由一个一个节点组成的,所谓链,就是每个节点的头尾连在一起。而单向链表就是:每个节点包含了当前节点的值和下一个节点引用。双向链表就是每个节点包含了当前节点的值和上下两个节点的引用。相对于数组结构,链表的增删效率会更加高。

单向链表(示意图):


php代码实现

/*** 链表结构*/ class hero{public $no;public $name;public $next=null;public function __construct($no=null,$name=null){$this->no = $no;$this->name = $name;} }/*** 链表操作*/ class singlelink{/*** 添加节点*/public function addnode($head,$node){$insertnode = $head;$afternode = null; // 插入节点的后续节点while ($insertnode->next!=null){if ($node->no < $insertnode->next->no){$afternode = $insertnode->next; break;}elseif($node->no == $insertnode->next->no){throw new \exception('排名 '.$node->no.' 节点已存在!');}$insertnode = $insertnode->next;}if( $afternode ){ // 将后续节点拼接到当前插入节点的后面$node->next = $afternode;}$insertnode->next = $node;}/*** 删除节点*/public function delnode($head,$no){$currentnode = $head;$prevnode = $head;while ($currentnode->next!=null){$currentnode = $currentnode->next;if( $currentnode->no==$no ){$prevnode->next = $currentnode->next;break;}$prevnode = $currentnode;}}/*** 显示节点*/public function shownode($head){$currentnode = $head;while ($currentnode->next!=null){$currentnode = $currentnode->next;echo '第 '.$currentnode->no.' 名:'.$currentnode->name."
";}} }//创建一个head头,该head 只是一个头,不放入数据 $head = new hero(); $herolist = new singlelink();$hero_01 = new hero(1,'宋江'); $hero_02 = new hero(2,'卢俊义'); $hero_03 = new hero(3,'公孙胜'); $hero_04 = new hero(4,'吴用'); $hero_05 = new hero(5,'关胜'); $hero_06 = new hero(6,'林冲');$herolist->addnode($head, $hero_01); $herolist->addnode($head, $hero_03); $herolist->addnode($head, $hero_02); $herolist->addnode($head, $hero_05); $herolist->addnode($head, $hero_04); $herolist->addnode($head, $hero_06); //$herolist->addnode($head, $hero_02);$herolist->shownode($head);echo "

"; $herolist->delnode($head,3); $herolist->delnode($head,5); $herolist->shownode($head);


参考:

韩顺平php程序员玩转算法公开课

https://www.cnblogs.com/starshot/p/6918569.html

https://blog.csdn.net/silent123go/article/details/52693735

总结

以上是凯发k8官方网为你收集整理的用php实现单向链表结构的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图