【发布时间】:2016-01-05 22:24:03
【问题描述】:
我正在使用两种不同的方式对 ArrayList 中的结果进行排序。第一种方法是 Collections.sort,它工作得很好,所以没有问题。另一个是排序算法Bubblesort(我知道它无效,用于学习目的)我有集合排序来对结果进行排序,最大值为0,第二大为1等。我想要我的冒泡排序算法,所以反过来排序, smallet 值为 0 等。如上所述,集合排序工作正常,但我的冒泡排序没有按照我想要的方式对它们进行排序。
是我的方法错还是循环错了?
private void sort(boolean resultComparison, ArrayList<Result> list) {
if (resultComparison= false) {
boolean moved;
do {
moved= false;
for (int i = 1; i < list.size(); i++) {
Result in = list.get(i - 1);
Result de = list.get(i);
if (in.value() < de.value()) {
list.set(i - 1, de);
list.set(i, in);
moved= true;
}
}
} while (moved);
} else {
Collections.sort(list);
}
}
boolean resultComparison 是我的类的每个实例都有的属性,false 应该打印出从小到大的结果。
【问题讨论】:
-
if (resultComparison= false) {不会像您认为的那样做。试试if (!resultComparison)。 -
@LouisWasserman 改为您的。仍然不起作用,但仍然有帮助!
标签: java sorting collections bubble-sort