バブルソートをダブルリンクリストで動作させる
-
27-10-2019 - |
質問
私はバブルをダブルリンクリストに並べ替えようとしてきましたが、インターネットで読んで、単一のリンクリストで動作するのが簡単です。
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;
}
ダブルリンクリストで動作するように変更するにはどうすればよいですか?
解決
実装の観点からは、少なくともポインターの代わりにコンテンツを変更しているだけでなく、ソート(バブル)パートについては、それが二重にリンクされたリストであるかどうかは本当に関係ありません。
他のヒント
各ノードのコンテンツ(データ)のみを変更し、ノード自体を移動しない場合、何も変更する理由はありません。
所属していません StackOverflow