排序算法-(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;
}
}
}
}
}