所以我创建了一个程序,用int数据创建节点,并根据从最大到最小的数据(它的记分板)添加节点。我得到了它的工作,但每次它尝试添加一个比列表中已有的节点更大的节点。它把它放在错误的地方。我知道它为什么这样做,因为没有办法回到单一的链表中。我不知道我能做什么把它放在正确的地方。
输出:
Zeus - 50
战神 - 48
哈迪斯 - 47
Apollo - 43
Hermes - 45 - 不在正确的地方
克洛诺斯 - 38哈迪斯 - 16
这是我的插入节点方法
public void insert(String name, int score)
{
Node node = new Node(name, score);
if(list == null)
{
list=node;
}
else if(list.score <= node.score)
{
node.next = list;
list = node;
}
else
{
Node current = list;
while(current.score > node.score && current.next != null)
{
current = current.next;
}
node.next = current.next;
current.next = node;
}
}