您的位置:首页 > 其它

冒泡排序

2016-03-30 14:43 363 查看
相信学习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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: