if(arr [i] <arr [j + 1])返回false的原因是什么?

时间:2019-02-20 07:20:20

标签: java

我知道这不是对数组进行排序的最佳方法,但是 if(arr [i] 返回false的原因是什么? 它应该返回true,因为在第一个循环中 if(5 <4)等等,是true

int arr[] = {5,4,3,2,1};
    for(int i = 0,p = 4; i< 4; i++, p--){
        for(int j = i; j < 4; j++){
            if(!(arr[i] < arr[j+1])){

                int temp = arr[i];
                arr[i] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
    for(int i : arr)
        System.out.println(i);

1 个答案:

答案 0 :(得分:1)

array_name, XX

这是

  

如果索引i处的arr不小于索引j + 1处的数组。

您的逻辑倒退了。