java - 将 double 组按升序排序

标签 java arrays sorting

我目前正在尝试手动将 double 组按升序排序。我遇到的问题是输出仅在顶部列出了第一个最小值(这是正确的),但列出了给出的其余值 0.0。 (值范围从 -5 到 +20)。下面是我在排序方面的编码尝试。任何帮助将不胜感激。谢谢。

             int index; 
             double temp;

             for(index = 0; index < x.length; index++)
               { 
                 for(int j = 0; j < x.length - 1; j++)
                    {
                       if(x[j + 1] < x[j])
                          {
                             temp = x[j + 1];
                             x[j + 1] = x[j];
                             x[j] = temp;  
                           }
                      }
                }

最佳答案

这几乎就是你所得到的冒泡排序。试试这个:

 public static void sort(int[] x) {
  boolean sorted=true;
  int temp;

  while (sorted){
     sorted = false;
     for (int i=0; i < x.length-1; i++) 
        if (x[i] > x[i+1]) {                      
           temp       = x[i];
           x[i]       = x[i+1];
           x[i+1]     = temp;
           sorted = true;
        }          
  } 

}

但是科林是对的。你最好使用 Arrays.sort。

关于java - 将 double 组按升序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17660827/

相关文章:

php - Codeigniter 将数据从模型传递到 Controller 解析器

python - 添加与不带循环的 groupby 操作相关的元素编号列

java - SOAP Web 服务单元/集成测试

javascript - 如何在javascript数组中查找值

java - jdbc 中的语句仅检索第一条记录,尽管有几条记录

java - 在不迭代的情况下创建与另一个大小相同的多数组的快速方法?

javascript - TableSorter 不识别数字

python - 删除列表 Python 中重复项的最快方法

java - ArrayList 的内存分配如何工作?

Java:泛型捕获错误