java - 如何反转SelectionSort以降序显示?

标签 java sorting reverse selection-sort

我正在尝试创建一个选择排序方法来按降序排列值。此代码按升序排列它们。我如何交换此代码以其他方式排列它。

public void selectionSort()
{
    int n = data.length;

    for(int index = 0; index < n-1; index++)
    {
        int min_idx = index;
        for(int j = index+1; j < n; j++)
            if(data[j] < data[min_idx])
                min_idx = j;

        int temp = data[min_idx];
        data[min_idx] = data[index];
        data[index] = temp;
    }
}

最佳答案

目前我能想到两种方法。我没有尝试过,但值得一试。

  1. 将所有数字乘以 -1 并应用原始选择排序进行升序排序。排序完成后,将所有数字乘以 -1 以返回 originwl 数字,但现在它们按降序排序。

  2. 尝试更改比较条件 if(数据[j] < 数据[min_idx])
    到 if(数据[j] >= 数据[min_idx])

如果这些方法有问题,请告诉我。

关于java - 如何反转SelectionSort以降序显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138907/

相关文章:

java - 使用 HashMap 从字符串中第一次出现后删除单词 "real"

java - add(index, element) 方法如何使用 LinkedList 在幕后工作?

java - Java中的方法执行顺序排序

r - R中的排序列联表

c++ - 使用枚举方向列表时反转方向(从左到右或从上到下)

Java - 不需要异常捕获或抛出

java - 在 Hibernate 中使用注释映射接口(interface)集合

python - Pandas:按日期字符串对数据框进行排序而不进行转换

java - k 反转链表

python - 如何以相反的顺序读取文件?