數據結構(排序)--冒泡排序

數據結構–選擇排序
代碼實現:

package cn.hncu;
//冒泡排序優化版----這種代碼應該能夠隨手敲出來
public class bubbleSort {
    //優化版-----針對於本來數組就是有序的改進一下不需要進行冒泡排序直接輸出就行
    public static void main(String[] args) {
        int[] arr = {15,54,12,-25,5,6,34,-30};
        boolean isSort = true;
        for(int i=0;i<arr.length-1;i++){     //控制冒泡的趟數
            for (int j = 0; j < arr.length-i-1; j++) {    //一趟下來的過程
                if (arr[j] > arr[j + 1]) {
                    swap(arr, j, j + 1); //這樣每次經過一趟之後冒個泡(最大的數給冒出來)
                    //如果進到這裏來了,就說明數組本身不是有序的
                    isSort = false;
                }
            }
            if(isSort){
                break;
            }
        }
        //經過上面的冒泡----得出最終結果
        //增強for循環----只能讀不能寫
        for(int x : arr){
            System.out.print(x+" ");
        }
    }

    private static void swap(int[] arr, int i, int j) {
        //交換兩個數據
        int temp = arr[i];
        arr[i] = arr[i+1];
        arr[i+1] = temp;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章