gpt4 book ai didi

java - 双向链表冒泡排序的问题

转载 作者:行者123 更新时间:2023-12-02 06:20:03 26 4
gpt4 key购买 nike

我一直在尝试解决这个问题,它正在对我的一些节点进行排序,但不是全部,我不知道为什么,并且由于某种原因,它用我的最后一个节点更改了第一个节点,但也无法弄清楚。我不知道我的for循环是否有问题。另外, getValue() 只是返回 Node 中的对象,这是我的输出

链表数据9586104

链表数据10568410

第一个是我的未排序列表,第二个列表是我试图对其进行排序

public void BubbleSort4()
{
Node<T> temp, temp2,temp3;
temp = front;
temp3 = front;

for(int i = size; i > 0; i--)
{
temp2 = temp.getNext();
Comparable comp = temp.getValue();

for(int scan = 0; scan < i-1; scan++)
{
if(comp.compareTo(temp2.getValue()) > 0)
{
temp3.setValue(temp.getValue());

temp.setValue(temp2.getValue());
temp2.setValue(temp3.getValue());

}
}
temp = temp.getNext();
}
}

最佳答案

输入temp2=temp2.​​getNext()
comp=temp.getValue()
在您的内部 for 循环中,并发布您的完整程序以充分处理它。

public void BubbleSort4()
{
Node<T> temp, temp2,temp3;
temp = front;
temp3 = front;

for(int i = size; i > 0; i--)
{
temp2 = temp.getNext();
Comparable comp = temp.getValue();

for(int scan = 0; scan <= i-1; scan++)
{
if(comp.compareTo(temp2.getValue()) > 0)
{
temp3.setValue(temp.getValue());

temp.setValue(temp2.getValue());
temp2.setValue(temp3.getValue());

}

temp2=temp2.getNext();
comp=temp.getValue();
}
temp = temp.getNext();
}

}

我会进一步更新我的答案。不要急于投反对票。请发布您的完整程序将与该程序一起使用并验证我的解释。现在测试一下

关于java - 双向链表冒泡排序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55841445/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com