簡體   English   中英

java-最大到最小排序-最大亂序

[英]java - largest to smallest sort - largest is out of order

我正在嘗試使這種排序算法對數組中的最大到最小排序。 這是我所擁有的:

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條件下被調用

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM