标题 | 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); 有序的插入的话需要遍历一遍链表,链表的一些知识就不介绍了哈。这里主要分享一下代码。 |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。