Home  >  Article  >  Backend Development  >  PHP实现双向链表_PHP教程

PHP实现双向链表_PHP教程

WBOY
WBOYOriginal
2016-07-13 09:48:14893browse

PHP实现双向链表

   看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下。上一次分享了链表,这次来补充说一下双向链表。 简短不割 复制代码 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 "

  不能添加相同的编号"; } $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 "

  编号:".$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 "

  没有找到目标"; } } } $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); ?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1023966.htmlTechArticlePHP实现双向链表 看了很久数据结构但是没有怎么用过,在网上看到了关于PHP的数据结构,学习了一下,与大家一起分享一下。上一次分享了...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn