java - 如何对 "reverse"进行选择排序?

标签 java arrays sorting loops selection

这里我有一个选择排序来从最低到最高对值进行排序,我该如何更改它以便它从最高到最低对值进行排序?

int min;
for (int i = 0; i < array.length; i++) {
    // Assume first element is min
    min = i;
    for (int j = i + 1; j < array.length; j++) {
         if (array[j] < array[min]) {
              min = j;
         }
    }

    if (min != i) {
       final int temp = array[i];
       array[i] = array[min];
       array[min] = temp;
    }
itsATextArea.append(array[i] + "\n");
}

最佳答案

只需更改代码中的符号即可

if (array[j] > array[max])
{
    //assign it here
    max = j;
}

以下是修改后的代码。

int max;
for (int i = 0; i < array.Length; i++)
{
    // Assume first element is max
    max = i;
    for (int j = i + 1; j < array.Length; j++)
    {
        if (array[j] > array[max])
        {
            max = j;
        }
    }

    if (max != i)
    {
       int temp = array[i];
       array[i] = array[max];
       array[max] = temp;
    }
}

关于java - 如何对 "reverse"进行选择排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16577539/

相关文章:

java - Android - 在 ImageView 上绘制图片

java - axis2客户端NTLM身份验证

java - 处理 Jackson 序列化的常见方法是什么

java - 如何模拟本地创建的对象?

java - 如何从目录或文件夹中读取重复字数

python - Python 中字典值的稳定排序

mysql - 如何在 ORDER BY if 语句中使用 ASC/DESC?

sql - 获取postgres中json数据数组列中元素的平均值

c - 是否为动态整数数组?

linux - 按列 Linux 在文件中排序