网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的范文:

 

标题 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);
    有序的插入的话需要遍历一遍链表,链表的一些知识就不介绍了哈。这里主要分享一下代码。
随便看

 

在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/21 13:09:43