如何对此冒泡排序进行反向排序?

时间:2013-11-26 00:37:19

标签: java arraylist bubble-sort

我有我的冒泡排序来排序我的对象(最终)。但是,它们按升序打印而不是降序。我知道我可以在阵列上使用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);
        }
     }
  }
}

基本上我想知道的是,有没有办法可以将减号改为加号或小于大于号,并按相反的方式排序?感谢。

2 个答案:

答案 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方法实现,这样就不必调整此代码了。