java常见算法

2020-03-14  本文已影响0人  KaNong

冒泡排序

时间复杂度: O(n^2)

```java

/**

* 第一次:0 ~ n-1 排序 最大的交换到n-1位上

* 第二次:0 ~ n-2 排序 最大的交换到n-2位上

* 第三次:0 ~ n-3 排序 最大的交换到n-3位上

* 第四次:0 ~ n-4 排序 最大的交换到n-4位上

* ......

* 【将最大的数依次放到最右边】

*/

public static void bubbleSort(int[] arr) {

    if(arr == null || arr.length < 2){

        return;

    }

    for(int end = arr.length - 1;  end > 0; end--){

        for(int i = 0; i < end; 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;

}

```

上一篇 下一篇

猜你喜欢

热点阅读