课程咨询 :025-86971863

南京PHP培训 > 达内新闻 > 南京PHP培训机构学习PHP实现双向链表
  • 南京PHP培训机构学习PHP实现双向链表

    发布:南京PHP培训      来源:达内新闻    

  • 南京PHP培训机构学习PHP实现双向链表,代码如下:

    复制代码

    <?php

    class Hero

    {

    public $pre=null;

    public $no;

    public $name;

    public $next=null;

    public function __construct($no='',$name='')

    {

    $this->no=$no;

    $this->name=$name;

    }

    static public function addHero($head,$hero)

    {

    $cur = $head;

    $isExist=false;

    //判断目前这个链表是否为空

    if($cur->next==null)

    {

    $cur->next=$hero;

    $hero->pre=$cur;

    }

    else

    {

    //如果不是空节点,则安排名来添加

    //找到添加的位置

    while($cur->next!=null)

    {

    if($cur->next->no > $hero->no)

    {

    break;

    }

    else if($cur->next->no == $hero->no)

    {

    $isExist=true;

    echo "<br>不能添加相同的编号";

    }

    $cur=$cur->next;

    }

    if(!$isExist)

    {

    if($cur->next!=null)

    {

    $hero->next=$cur->next;

    }

    $hero->pre=$cur;

    if($cur->next!=null)

    {

    $hero->next->pre=$hero;

    }

    $cur->next=$hero;

    }

    }

    }

    //遍历

    static public function showHero($head)

    {

    $cur=$head;

    while($cur->next!=null)

    {

    echo "<br>编号:".$cur->next->no."名字:".$cur->next->name;

    $cur=$cur->next;

    }

    }

    static public function delHero($head,$herono)

    {

    $cur=$head;

    $isFind=false;

    while($cur!=null)

    {

    if($cur->no==$herono)

    {

    $isFind=true;

    break;

    }

    //继续找

    $cur=$cur->next;

    }

    if($isFind)

    {

    if($cur->next!=null)

    {

    $cur->next_pre=$cur->pre;

    }

    $cur->pre->next=$cur->next;

    }

    else

    {

    echo "<br>没有找到目标";

    }

    }

    }

    $head = new Hero();

    $hero1 = new Hero(1,'1111');

    $hero3 = new Hero(3,'3333');

    $hero2 = new Hero(2,'2222');

    Hero::addHero($head,$hero1);

    Hero::addHero($head,$hero3);

    Hero::addHero($head,$hero2);

    Hero::showHero($head);

    Hero::delHero($head,2);

    Hero::showHero($head);

    ?>

    推荐文章

上一篇:南京PHP培训机构了解JSP与ASP.PHP的比较

下一篇:南京PHP培训班学习使用Eclipse PDT调试PHP

最新开班日期  |  更多

PHP高级开发工程师就业班

PHP高级开发工程师就业班

开班日期:04-28

PHP高级开发工程师精品班

PHP高级开发工程师精品班

开班日期:04-28

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:04-28

PHP高级开发工程师定制班

PHP高级开发工程师定制班

开班日期:04-28

  • 地址:南京市秦淮区太平南路333号金陵御景园8楼达内
  • 课程培训电话:025-86971863     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56