我一直试图让冒泡排序一个双向链表,我在互联网上读到,让它与单一链表将更容易,所以我尝试,这是我的代码
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;
}如何将其更改为使用双向链表?
发布于 2012-01-12 18:54:23
从你的实现的角度来看,它是否是双向链表真的无关紧要,至少对于排序(冒泡)部分来说并不重要,因为你只是改变了内容而不是指针。
发布于 2012-01-12 18:52:10
如果您只更改每个节点的内容(数据),而不移动节点本身,我看不出有任何理由要更改任何内容。
https://stackoverflow.com/questions/8833759
复制相似问题