【问题标题】:How can I sort this Bubble Sort in reverse?如何反向排序此冒泡排序?
【发布时间】:2013-12-10 23:11:13
【问题描述】:

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

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

【问题讨论】:

    标签: java arraylist bubble-sort


    【解决方案1】:

    改变这一行

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

    到这里

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

    它会以相反的顺序排序。

    【讨论】:

    • 谢谢,已将其更改为小于,从未想过小于或等于。 :)
    【解决方案2】:

    好吧,您可以更改您的 compareTo 方法实现,这样您根本不需要调整此代码。

    【讨论】:

      猜你喜欢
      • 2014-09-17
      • 1970-01-01
      • 2015-09-06
      • 2013-03-27
      • 2013-10-09
      • 2014-06-25
      • 2021-12-15
      • 2016-02-10
      • 1970-01-01
      相关资源
      最近更新 更多