首頁 > 網際網路

如何用java程式碼實現選擇排序和氣泡排序

2019-12-10 09:52:20

氣泡排序和選擇排序是排序演算法中比較簡單和容易實現的演算法。氣泡排序的思想為:每一次排序過程,通過相鄰元素的交換,將當前沒有排好序中的最大(小)移到陣列的最右(左)端。而選擇排序的思想也很直觀:每一次排序過程,我們獲取當前沒有排好序中的最大(小)的元素和陣列最右(左)端的元素交換,迴圈這個過程即可實現對整個陣列排序。  選擇排序的平均時間複雜度比氣泡排序稍高        

1

開啟myeclipse工具,新建一個工程,並新建一個包,在該包下新建一個類。

注意類名首字母必須大寫,這是java程式碼的命名規範。


2

在該Demo1類下,寫一個靜態的select()方法。用來寫選擇排序的方法。引數為 需要排序的整數陣列。

程式碼:public static void select(int[] arr) {        for (int x = 0; x < arr.length; x++) {            for (int y = x + 1; y < arr.length; y++) {                if (arr[x] > arr[y]) {                    int temp = arr[x];                    arr[x] = arr[y];                    arr[y] = temp;                }            }        }        System.out.println("排序過後的數:");        for (int i = 0; i < arr.length; i++) {            System.out.println(arr[i]);        }    }


3

在該Demo1類下,寫一個靜態的maopao()方法。用來寫氣泡排序的方法。引數為 需要排序的整數陣列。

程式碼:    public static void maopao(int[] arr) {        for (int x = 0; x < arr.length; x++) {            for (int y = 0; y < arr.length - x - 1; y++) {                if (arr[y] > arr[y + 1]) {                    int temp = arr[y];                    arr[y] = arr[y + 1];                    arr[y + 1] = temp;                }            }        }        System.out.println("排序過後的數:");        for (int i = 0; i < arr.length; i++) {            System.out.println(arr[i]);        }    }


4

在主函數中呼叫maopao()方法。右鍵並點選 run as ,觀察控制台上輸出的結果,從小到大排序。


5

在主函數中呼叫select()方法。右鍵並點選 run as ,觀察控制台上輸出的結果,從小到大排序。


6

選擇排序和氣泡排序的區別在於演算法的實現不同,具體圖解見下圖。




IT145.com E-mail:sddin#qq.com