gpt4 book ai didi

java - 为什么这个 insertionSort 代码没有给出正确的输出?

转载 作者:行者123 更新时间:2023-11-30 11:10:28 24 4
gpt4 key购买 nike

public class First{
public static void main(String[] args){
int[] arr = new int[]{4, 2, 7, 8};
int[] p = insertionSort(arr);
System.out.println(java.util.Arrays.toString(p));

}

public static int[] insertionSort(int[] arr){
int key;
int i;
for (int j = 1; j < arr.length; j++){
key = arr[j];
i = j - 1;
while( (i > 0) && (arr[i] > key)){
arr[i + 1] = arr[i];
i--;
}
arr[i + 1] = key;
}
return arr;
}

}

我不确定发生了什么,但上面的代码只是打印了原始的未排序数组,而不是已排序的 int 数组。

最佳答案

这个

while ((i > 0) && (arr[i] > key)) {

应该是

while ((i >= 0) && (arr[i] > key)) {

然后我得到

[2, 4, 7, 8]

关于java - 为什么这个 insertionSort 代码没有给出正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27680535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com