gpt4 book ai didi

java - 从最大到最小的排序 - 最大的是无序的

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:16 26 4
gpt4 key购买 nike

我试图让这个排序算法对数组中的最大到最小进行排序。这是我拥有的:

private void sort(int[] data) {
int min;
for (int index = 0; index < data.length - 1; index++) {
min = index;
for (int scan = index + 1; scan < data.length; scan++) {
if (data[scan] > data[min]) min = scan;
swap (data, min, index);
}
}
}

private void swap(int[] data, int pos0, int pos1) {
int temp = data[pos0];
data[pos0] = data[pos1];
data[pos1] = temp;
}

输出是:

3 3 4 2 2 2 2 1 1 1 1 1 1

为什么第二大数乱序了?

我一直在研究这个,但我显然遗漏了一些东西。

最佳答案

您正在关闭 if 声明

 if (data[scan] > data[min]) min = scan;
swap (data, min, index);

swap() 将被调用而不考虑 if 条件

关于java - 从最大到最小的排序 - 最大的是无序的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24445262/

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