PHP小教程之实现链表
发布:smiling 来源: PHP粉丝网 添加日期:2021-02-10 14:29:30 浏览: 评论:0
php中没有链表这种数据结构,可以通过数组来实现,看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下,代码如下:
- class Hero
- {
- public $no;//排名
- public $name;//名字
- public $next=null;//$next是一个引用,指向另外一个Hero的对象实例
- public function __construct($no='',$name='')
- {
- $this->no=$no;
- $this->name=$name;
- }
- static public function showList($head)
- {
- $cur = $head;
- while($cur->next!=null)
- {
- echo "排名:".$cur->next->no.",名字:".$cur->next->name."<br>";
- $cur = $cur->next;
- }
- }
- //普通插入
- static public function addHero($head,$hero)
- {
- $cur = $head;
- while($cur->next!=null)
- {
- $cur = $cur->next;
- }
- $cur->next=$hero;
- }
- //有序的链表的插入
- static public function addHeroSorted($head,$hero)
- {
- $cur = $head;
- $addNo = $hero->no;
- while($cur->next->no <= $addNo)
- {
- $cur = $cur->next;
- }
- /*$tep = new Hero();
- $tep = $cur->next;
- $cur->next = $hero;
- $hero->next =$tep;*/
- $hero->next=$cur->next;
- $cur->next=$hero;
- }
- static public function deleteHero($head,$no)
- {
- $cur = $head;
- while($cur->next->no != $no && $cur->next!= null)
- {
- $cur = $cur->next;
- }
- if($cur->next->no != null)
- {
- $cur->next = $cur->next->next;
- echo "删除成功<br>";
- }
- else
- {
- echo "没有找到<br>";
- }
- }
- static public function updateHero($head,$hero)
- {
- $cur = $head;
- while($cur->next->no != $hero->no && $cur->next!= null)
- {
- $cur = $cur->next;
- }
- if($cur->next->no != null)
- {
- $hero->next = $cur->next->next;
- $cur->next = $hero;
- echo "更改成功<br>";
- }
- else
- {
- echo "没有找到<br>";
- }
- }
- }
- //创建head头
- $head = new Hero();
- //第一个
- $hero = new Hero(1,'111');
- //连接
- $head->next = $hero;
- //第二个
- $hero2 = new Hero(3,'333');
- //连接
- Hero::addHero($head,$hero2);
- $hero3 = new Hero(2,'222');
- Hero::addHeroSorted($head,$hero3);
- //显示
- Hero::showlist($head);
- //删除
- Hero::deleteHero($head,4);
- //显示
- Hero::showlist($head);
- //更改
- $hero4=new Hero(2,'xxx');
- Hero::updateHero($head,$hero4);
- //显示
- Hero::showlist($head);
有序的插入的话需要遍历一遍链表,链表的一些知识就不介绍了哈。这里主要分享一下代码。
Tags: PHP链表
相关文章
- ·php链表用法实例分析(2021-06-10)
- ·PHP实现找出链表中环的入口节点(2021-08-30)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)