冒泡排序

3,301 阅读1分钟

思想

冒泡排序的基本思想是,对相邻的元素进行两两比较,(比较大的或小的)进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序。

图解

以大的上浮为例

image.png

时间复杂度

O(N²)

代码

`

public static void bubbleSort(int[] arr){
    if (arr == null || arr.length<2){
        return;
    }
    for (int e = arr.length-1;e>0;e--){
        //e-- 每循环一次,说明顶部的已经是最大(活最小了)
        for (int i =0;i<e;i++){
            if (arr[i]>arr[i+1]){
                //交换
                swap(arr,i,i+1);
            }
        }
    }
}

public static void swap(int[] arr,int i,int j){
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

`