java - 反转排序算法

标签 java algorithm sorting

我得到了一个将 int[] a 从低到高排序的算法。

public static void sortering(int[] a){
    int temp;               

    for(int i = 0; i < a.length; i++){
    for(int j = i + 1; j < a.length; j++){
        if(a[i] > a[j]){
            temp = a[j];
            a[j] = a[i];
            a[i] = temp;
        }
    }
}
}

我想做的就是反转它,让它从高到低排序。我以为这就像在公园里散步一样,做这样的事情:

public static void sorteringU(int[] a){
    int temp;

    for(int i = a.length; i < a.length; i--){
        for(int j = i - 1; j < a.length; j--){
            if(a[i] > a[j]){
                temp = a[j];
                a[j] = a[i];
                a[i] = temp;
            }
        }
    }
}

我错了,这显然没有任何作用。 有谁愿意帮忙吗?

编辑:谢谢 Jesper 和 Satya,它成功了。

最佳答案

这就足够了:

public static void sorteringU(int[] a){
    int temp;               

    for(int i = 0; i < a.length; i++){
    for(int j = i + 1; j < a.length; j++){
        if(a[i] < a[j]){ // Change ">" to "<"
            temp = a[j];
            a[j] = a[i];
            a[i] = temp;
        }
    }
}
}

关于java - 反转排序算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19630635/

相关文章:

algorithm - 算法的想法?随机排序列表,强调多样性

java - 为什么 WEKA 评估类需要训练实例?

java - 在对象监视器上同步还是在我的情况下是更好的信号量?

c# - 模拟离散房间中的减压

闭合轮廓的绕数算法

algorithm - 给定一个排序数组,找到重复值的最大子数组

c++ - 插入节点时对链表进行排序

javascript - 对其中包含字符串的数组进行排序

java - 以线程安全的方式延迟初始化 Java 映射

java - 无法设置 com.mysql.jdbc.Blob