冒泡排序 初步实现及优化

void BubbleSort1(int *arr, int len)
{
	int i = 0;//趟数
	for (i = 0; i < len - 1; i++)
	{
		int j = 0;//次数
		for (j = 0; j < len - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
			}
		}
	}
}

冒泡优化

void BubbleSort(int *arr, int len)
{
	int i = 0;//趟数
	int flg = 0;
	for (i = 0; i < len - 1; i++)
	{
		int j = 0;//次数
		flg = 0;//排序好的位置不在进行
		for (j = 0; j < len - 1 - i; j++)
		{
			if (arr[j] > arr[j + 1])
			{
				int tmp = arr[j];
				arr[j] = arr[j + 1];
				arr[j + 1] = tmp;
				flg = 1;
			}
		}
		if (!flg)
		{
			break;
		}
	}
}
发布了24 篇原创文章 · 获赞 1 · 访问量 388

猜你喜欢

转载自blog.csdn.net/weixin_43519514/article/details/102527336