簡體   English   中英

我怎樣才能使 java 中的這個冒泡排序工作

[英]how can i make this bubblesort in java work

int[] array = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };

        for (int x = 0; x < array.length; x++) {
            System.out.print("[" + array[x] + "] ");
        }

        for (int x = 0; x < array.length; x++) {

            for (int y = 0; y < x; y++) {

                if (array[y] > array[x]) {

                    int temp = array[x];
                    array[y] = array[x];
                    array[x] = temp;
                }

            }
        }
        System.out.println();
        for (int x = 0; x < array.length; x++) {
            System.out.print("[" + array[x] + "] ");

        }

有人能告訴我為什么這個冒泡排序不起作用嗎? 找不到我的錯誤。

幫助將不勝感激

您對冒泡排序的理解似乎還可以。 問題在於您的交換功能,您可以告訴這一點,因為您正在重復值。 您將 temp 變量設置為 array[x],然后將 array[y] 設置為 array[x],然后將 array[x] 設置為 temp。 所以最后 array[x] = array[x] 和 array[y] = array[x]。 簡單的解決方法是將您的 temp 更改為 temp = array[y]

暫無
暫無

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

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