基于订单在链接列表中插入节点的问题

时间:2017-09-17 23:37:10

标签: java sorting linked-list nodes

所以我创建了一个程序,用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;
        }
    }

0 个答案:

没有答案