no = $no; $this->name = $name; } public static 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; } } } //遍历 public static function showHero($head) { $cur = $head; while ($cur->next != null) { echo "
编号:" . $cur->next->no . "名字:" . $cur->next->name; $cur = $cur->next; } } public static 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 "
没有找到目标"; } } }