1. 程式人生 > >用java實現氣泡排序和選擇排序

用java實現氣泡排序和選擇排序

氣泡排序:依次比較兩個相鄰的元素,將值大的元素交換至右端,一輪比較過後,最大的元素在最右端。

public class BubbleSort {
    public static void main(String[] args) {
        int[] arr={11,2,223,3,42,9,};//隨意定義個數組,測試
        BubbleSort(arr);
    }
    public static void BubbleSort(int arr[]){
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-1-i;j++){
                int x;//定義中間變數,用於之後的兩變數值交換
                if(arr[j]>arr[j+1]){
                    //將值大的放到右邊
                    x=arr[j+1];
                    arr[j+1]=arr[j];
                    arr[j]=x;
                }
            }
        }
        //遍歷陣列
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

控制檯結果:

選擇排序:依次比較第一個數與剩下數的大小,小的數與第一個數交換位置,一輪過後,最小的數在最右端;第二輪比較第二個數與剩下的數的大小,小的數與第二個數交換位置,一直進行下去,直至最後一個數。

public class QuickSort {
    public static void main(String[] args) {
        int[] arr={345,2,34,23,12,42,4};//隨意定義一個數組進行測試
        QuickSort(arr);
    }
    public static void QuickSort(int[] arr){

        for(int i=0;i<arr.length-1;i++){
            for(int j=i+1;j<arr.length;j++){
                int x;//中間變數,方便進行兩數值交換
                if(arr[i]>arr[j]){
                    //進行比較,該條件成立則交換位置
                    x=arr[i];
                    arr[i]=arr[j];
                    arr[j]=x;
                }
            }
        }

        //遍歷陣列
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+"\t");
        }
    }
}

控制檯結果:

以上便是氣泡排序和選擇排序的解析,有問題可以在評論區提出。