gpt4 book ai didi

java - 排序算法未显示正确的输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:27:59 25 4
gpt4 key购买 nike

我不明白为什么我的 shell 排序算法没有得到正确的输出,我无法确定问题所在,我们将不胜感激。

public class sortingExample {
public static void main(String args[]) {
int[] myArray = {4, 1, 3, 2, 1, 2};
int increments = (myArray.length/2), i, tmp, j;
for(; increments > 0; increments /= 2) {
for(i = increments; i < myArray.length; i++) {
j = i - increments;
tmp = myArray[j];
if(myArray[j] > myArray[i]) {
myArray[j] = myArray[i];
myArray[j] = tmp;
}
}
}
System.out.println(myArray[0]);
}

它应该返回最小的数字,但没有发生任何变化,所有数字都保留在相应的位置。

最佳答案

更改 if 语句中的交换实现。您已使用 j 作为索引在数组中设置相同的元素两次。

tmp = myArray[j];
if(myArray[j] > myArray[i]) {
myArray[j] = myArray[i];
myArray[i] = tmp; //here you have to set a tmp value for i-element to swap two values
}

关于java - 排序算法未显示正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33748735/

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