我有我的冒泡排序来排序我的对象(最终)。但是,它们按升序打印而不是降序。我知道我可以在阵列上使用Collections.Reverse,据我所知,但是(是的,这是一种“家庭作业”)我不能使用它。
private void bubbleSort()
{
for (int i = 0; i < employees.size() - 1; i++)
{
for (int j = 0; j < employees.size() - i -1; j++)
{
if (employees.get(j).compareTo(employees.get(j+1)) > 0)
{
Employee temp = employees.get(j+1);
employees.set(j+1, employees.get(j));
employees.set(j, temp);
}
}
}
}
基本上我想知道的是,有没有办法可以将减号改为加号或小于大于号,并按相反的方式排序?感谢。
答案 0 :(得分:3)
更改此行
if (employees.get(j).compareTo(employees.get(j+1)) > 0)
到这个
if (employees.get(j).compareTo(employees.get(j+1)) <= 0)
它会以相反的顺序排序。
答案 1 :(得分:0)
好吧,您可以更改compareTo方法实现,这样就不必调整此代码了。