0

私はダブルリンクリストをバブルソートしようとしていましたが、インターネットで読んで、単一のリンクリストで動作させる方が簡単だったので、それを試してみました。これが私のコードです

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;

    }

二重リンクリストで動作するように変更するにはどうすればよいですか?

4

2 に答える 2

0

実装の観点からは、少なくともポインタの代わりにコンテンツを変更しているだけなので、ソート(バブリング)部分については、二重にリンクされたリストであるかどうかは実際には問題ではありません。

于 2012-01-12T10:54:23.477 に答える
0

各ノードのコンテンツ (データ) のみを変更し、ノード自体を移動しない場合、何かを変更する理由がわかりません。

于 2012-01-12T10:52:10.047 に答える