排序算法-(3)-冒泡排序

排序思想:
数组中相邻元素两两比较,让最大的数浮动到数组最后的位置,其次大的数浮动到数组倒数第二个位置……

时间复杂度:
其外层循环执行 N - 1次。内层循环最多的时候执行N次,最少的时候执行1次,平均执行 (N+1)/2次。
所以循环体内的比较交换约执行 (N - 1)(N + 1) / 2 = (N^2 - 1)/2,因为时间复杂度为O(n^2)

private void bubble_sort(int[] array)
    {
        int i, j, t;
        for(i = 1; i < array.length; ++i){
            for(j = 0; j < array.length -i; ++j){
                if(array[j] > array[j+1]){
                    t = array[j];
                    array[j] = array[j+1];
                    array[j+1] = t;
                }
            }
        }
    }
}
posted @ 2017-07-11 15:04  老虎养的小牛犊  阅读(121)  评论(0编辑  收藏  举报