最好时间复杂度:O(n)
平均时间复杂度:O(n^2)
最坏时间复杂度:O(n^2)
include<stdio.h>
// 打印数组
void print_array(int *array, int length)
{
int index = 0;
printf("array:\n");
for(; index < length; index++){
printf(" %d,", *(array+index));
}
printf("\n\n");
}
void buble_sort(int array[], int length)
{ int i, j, temp;
for(i = 0; i < length; i++) // 10个数,10 - 1轮冒泡,每一轮都将当前最大的数推到最后
{ for(j = 0; j < length - i; j++) // 9 - i,意思是每当经过一轮冒泡后,就减少一次比较
if (array[j] > array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
int main(void)
{
int array[12] = {1,11,12,4,2,6,9,0,3,7,8,2};
print_array(array, 12);// 开始前打印下
buble_sort(array, 12);// 快速排序
print_array(array, 12);// 排序后打印下
return 0;
}