代码如下
public void addByOrder(HeroNode2 heroNode) {
HeroNode2 temp = head;
boolean flag = false;
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.no > heroNode.no) {
break;
} else if (temp.next.no == heroNode.no) {
flag = true;
break;
}
temp = temp.next;
}
if (flag) {// 不能添加,说明编号存在
System.out.printf("准备插入的英雄的编号%d已经存在了,不能加入\n", heroNode.no);
} else {
if(temp.next == null){
temp.next = heroNode;
heroNode.pre = temp;
}else{
//此处是在temp和temp.next中间添加数据
heroNode.next = temp.next;
temp.next.pre = heroNode;
temp.next = heroNode;
heroNode.pre = temp;
}
}
}