让我的冒泡排序使用双链表

时间:2012-01-12 10:46:46

标签: java linked-list doubly-linked-list

我一直试图让泡泡排序成一个双链接列表,我在互联网上阅读以使其与单个链接列表一起工作会更容易,所以我尝试了,这是我的代码

public void bubbleSort()
    {
        StudentNode n;
        boolean isSorted=false;

        for(int i=lenght-1; i>1 && isSorted==false; i--)
        {            
            for(int j=0; j<i; j++)
            {
                n=L.head;
                isSorted=true;
                for(int k=0; k n.next.data)
                {
                    isSorted=false;
                    swap(n, n.next);
                }
            }
        }
    }

    public void swap(StudentNode N1, StudentNode N2)
    {
        int temp=N1.data;
        N1.data=N2.data;
        N2.data=temp;

    }

如何更改它以使用双链表?

2 个答案:

答案 0 :(得分:0)

如果您只更改每个节点的内容(数据),并且不自行移动节点,我认为没有任何理由可以更改任何内容。

答案 1 :(得分:0)

从您的实现角度来看,对于排序(冒泡)部分来说,它是否真的无关紧要,因为您只需更改内容而不是指针。