标签:冒泡排序
相信学习c语言的人都应该狠狠熟悉冒泡排序,我就不做细细说明。
算法思想:就是把最大数冒到最后面,或把最小数冒到最后面,依次这样做。代码实现。
int BubbleSort(int *InputArr,int SizeArr) { int i = 0; int j = 0; int flag = 0; //定义标志位优化冒泡排序 if(NULL == InputArr) { return FALSE; } for(i = 0;i < SizeArr-1;i++) { for(j = 0;j < SizeArr-i-1;j++) { int temp = 0; if(InputArr[j] > InputArr[j+1]) { flag = 1; //当已经有序的时候就跳出循环,如果一次排序就已经有序则这样大大减小时间。 temp = InputArr[j]; InputArr[j] = InputArr[j+1]; InputArr[j+1] = temp; } } if(0 == flag) break; } return TURE; }
对了时间复杂是N*N即就是O(N*N)
标签:冒泡排序
原文地址:http://zhaoxiaohu.blog.51cto.com/10778115/1758399