Java 如何对一组链接节点进行排序

Java 如何对一组链接节点进行排序,java,list,sorting,linked-list,nodes,Java,List,Sorting,Linked List,Nodes,我试图在java中对一组链接节点进行排序。 我刚开始编程,所以我不确定我做错了什么 package rAymond; public class RandomLinkLists { public static void main(String[] args) { int temp = 0; Listnode holder; Listnode start; Listnode a; Listnode b;

我试图在java中对一组链接节点进行排序。 我刚开始编程,所以我不确定我做错了什么

package rAymond;

public class RandomLinkLists {

    public static void main(String[] args) {
        int temp = 0;
        Listnode holder;
        Listnode start;
        Listnode a;
        Listnode b;
        Listnode c;
        Listnode d;
        Listnode e;
        Listnode end;

        start = new Listnode(5);
        a = new Listnode(10);
        b = new Listnode(0);
        c = new Listnode(3);
        d = new Listnode(4);
        e = new Listnode(100);
        end = new Listnode(20);
        holder = new Listnode(0);

        start.setNext(a);
        a.setNext(b);
        b.setNext(c);
        c.setNext(d);
        d.setNext(e);
        e.setNext(end);
        holder.setNext(start);

        while(start!=null && start.getNext()!=null){
            if((Integer)start.getData() > (Integer)start.getNext().getData()){
                temp = (Integer) start.getData();
                start.setData(start.getNext().getData());
                start.getNext().setData(temp);
            }
            start = start.getNext();
        }

        while(holder != null &&  holder.getNext()!=null){
            System.out.println(holder.getData());
            holder = holder.getNext();
        }

    }

}
而且

package rAymond;

public class Listnode {
  //*** fields ***
    private Object data;
    private Listnode next;
    private Listnode previous;

  //*** methods ***
    // 2 constructors
    public Listnode(Object d) {
    this(d, null);
    }

    public Listnode(Object d, Listnode n) {
    data = d;
    next = n;
    }

    // access to fields
    public Object getData() {
        return data;
    }
    public Listnode getPrevious(){
        return previous;
    }

    public Listnode getNext() {
        return next;
    }

    // modify fields
    public void setData(Object ob) {
        data = ob;
    }

    public void setNext(Listnode n) {
        next = n;
    }

    public void setPrevious(Listnode n) {
        previous = n;
    }

    public void remove(Listnode current, Listnode parent){
        parent.setNext(current.getNext());

    }

}
任何帮助都将不胜感激

最终输出为:
050341020


还有,有没有更简单的方法对列表进行排序?普通的数组排序技术,如冒泡排序和快速排序,可以在这里应用吗?

面向随机访问的排序算法对于链表来说很难使用。一种简单的方法是创建一个空列表,然后从原始列表中删除节点,并按顺序将它们插入最初的空列表中

一种更快的方法是使用一个指向节点的小数组引用(或指针)和一种自下而上合并排序的变体。维基文章: