码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2016-03-30 16:36:18      阅读:152      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!