首页 文章

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

提问于
浏览
0

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

    改变这一行

    if (employees.get(j).compareTo(employees.get(j+1)) > 0)
    

    对此

    if (employees.get(j).compareTo(employees.get(j+1)) <= 0)
    

    它将按相反的顺序排序 .

  • 3

    好吧,你可以改变你的compareTo方法实现,这样你根本不需要调整这个代码 .

相关问题