no = $no; $this->name = $name; } public static function addHero($head, $hero) { $cur = $head; $isExist = false; // 判断目前这个链表是否为空 if (null == $cur->next) { $cur->next = $hero; $hero->pre = $cur; } else { // 如果不是空节点,则安排名来添加 // 找到添加的位置 while (null != $cur->next) { if ($cur->next->no > $hero->no) { break; } elseif ($cur->next->no == $hero->no) { $isExist = true; echo '
不能添加相同的编号'; } $cur = $cur->next; } if (!$isExist) { if (null != $cur->next) { $hero->next = $cur->next; } $hero->pre = $cur; if (null != $cur->next) { $hero->next->pre = $hero; } $cur->next = $hero; } } } // 遍历 public static function showHero($head) { $cur = $head; while (null != $cur->next) { echo '
编号:' . $cur->next->no . '名字:' . $cur->next->name; $cur = $cur->next; } } public static function delHero($head, $herono) { $cur = $head; $isFind = false; while (null != $cur) { if ($cur->no == $herono) { $isFind = true; break; } // 继续找 $cur = $cur->next; } if ($isFind) { if (null != $cur->next) { $cur->next_pre = $cur->pre; } $cur->pre->next = $cur->next; } else { echo '
没有找到目标'; } } }