【问题标题】:Selection sort not sorting integer array选择排序不排序整数数组
【发布时间】:2023-03-15 19:51:02
【问题描述】:

我正在尝试实现对整数数组进行排序的选择排序,但它没有这样做。我不知道哪里出了问题,所以也许另一双眼睛可以弄清楚。

public static void main(String[] args) {
    int[] array = {900, 200, 23, -3, 1, 30, 55, -70, 100, 9};
    System.out.println(Arrays.toString(array));
    for (int i = array.length - 1; i > 0; i--) {
        int largest = 0;
        for (int j = 1; j <= i; j++) {
            if (array[j] > array[largest]) {
            }
            largest = j;
        }
        swap(array, largest, i);
    }
    System.out.println(Arrays.toString(array));
}

private static void swap(int[] arr, int i, int j) {
    if (i == j)
        return;
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

【问题讨论】:

标签: java arrays sorting selection-sort


【解决方案1】:

largest = j 移动到if 块中

if (array[j] > array[largest]) {
    largest = j;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-11
    • 2016-08-15
    • 2021-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-30
    相关资源
    最近更新 更多