冒泡排序

代码如下:

​​​​​​​public static void bubbleSort(int[] a, int n){
    if (n < 1) {
        return;
    }
    for ( int i = 0; i < n; i++ ) {
        boolean flag = false;
        for ( int j = 0; j < n - i - 1; j++ ) {
            if (a[j] > a[j+1]) {
                int temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
                flag = true;
            }
        }
        if (!flag) {
            break;
        }
    }
}

冒泡排序是一种原地、稳定排序算法。

最好情况下,要排序的数据已经是有序的了,我们只需要进行一次冒泡操作,就可以结束了,所以最好情况时间复杂度是 O(n)。而最坏的情况是,要排序的数据刚好是倒序排列的,我们需要进行 n 次冒泡操作,所以最坏情况时间复杂度为 O(n^2)。平均时间负责度是O(n^2)。

你可能感兴趣的:(Java基础,排序算法,java排序算法)