【问题标题】:Arrays is sorted but two indexes are not correct数组已排序,但两个索引不正确
【发布时间】:2020-09-15 20:30:54
【问题描述】:

我的代码有些问题。我了解如何使用 sort 方法,但希望能够使用其他方法来解决这个问题。

        int[] nums = {1,5,3,8,9,12,45};
        System.out.println("Before sorted: "+Arrays.toString(nums));

       
        for(int i = 0; i < nums.length-1; i++)
        {
            
            if (nums[i] > nums[i+1]) {

                nums[i+1] = nums[i];
           }

        }
        System.out.println("After sorted: "+ Arrays.toString(nums));//will print [1, 5, 5, 8, 9, 12, 45]
//instead of [1, 3, 5, 8, 9, 12, 45]
    }

【问题讨论】:

标签: java arrays sorting


【解决方案1】:

因此,您的代码没有进行排序,而只是移动了一些值。要正确交换两个值以尝试排序,您需要一个临时变量。因此,要在排序时交换整数 A 和 B,您需要第三个整数来保存被覆盖的变量。

Temp = A
A = B
B = Temp

交换 A 和 B。从交换你可以建立排序(并且有一些容易找到的排序算法)。

【讨论】:

  • B 在本例中等于 B,B = Temp
猜你喜欢
  • 1970-01-01
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-05
  • 1970-01-01
相关资源
最近更新 更多