首页 > 编程语言 > 详细

冒泡排序

时间:2016-03-30 16:34:06      阅读:192      评论:0      收藏:0      [点我收藏+]

相信学习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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!