C冒泡

最好时间复杂度: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;
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容