c语言:冒泡排序

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define N 10
void Bubble_Sort(int* a,int i,int j,int t)
{
	for (i = 0;i < N - 1;i++)
	{
		for (j = 0;j < N - i - 1;j++)
		{
			if (a[j] > a[j + 1])
			{
				t = a[j];
				a[j] = a[j + 1];
				a[j + 1] = t;
			}
		}
	}
}
int main()
{
	int i=0, j=0, t=0, a[N];
	printf("请输入%d个整数:",N);
	for (i = 0;i < N;i++)
		scanf("%d", &a[i]);
	Bubble_Sort(a,i,j,t);
	for (i = 0;i < N;i++)
		printf("%d ", a[i]);
	printf("\n");
	return 0;
}

flag的存在是为了使常数列少一点循环次数,达到效率最大化。
比如1111111111这个数列,只需要进去10次循环。
如果不加flag,就会进去100次循环。效率大大降低。
在这里插入图片描述

posted @ 2021-06-14 09:20  zbossz  阅读(39)  评论(0)    收藏  举报