有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我希望在不使用sort()函数的情况下按递增顺序对数组元素进行排序

我要按递增的顺序输出。我不知道为什么它的工作顺序是递减的。我在这里犯了什么错误?帮帮我

public static void main(String[] args) {
    int[] second = {5,4,3,7,8} ;
    int[] result = sortArray(second);
    System.out.println(Arrays.toString(result));
}

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

共 (1) 个答案

  1. # 1 楼答案

    让我在每次迭代后解释基于数组的解决方案

    5,4,3,7,8
    i=0,j=0  > 5 4 3 7 8
    i=0,j=1  > 4 5 3 7 8
    i=0,j=2  > 3 5 4 7 8
    i=0,j=3  > 3,5,4,7,8
    i=0,j=4  > 3,5,4,7,8
    

    现在问题就在这里:

    i=1,j=0  > 5,3,4,7,8;
    

    要纠正这个问题,请从i+1开始执行j循环;j=i+1;j<;a、 长度;j++