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