冒泡排序

和自甴很熟 提交于 2020-01-25 03:40:03

冒泡排序

冒泡排序的基本思想

每趟不断将记录两两比较,并按“先小后大”的规则进行交换。
例:
21 ,25 ,49 ,25*,16,08(注:星号为重复数字)
第一趟: 21 ,25 ,25*,16 ,08 ,49
第二趟: 21 ,25 ,16 ,08 ,25*,49
第三趟: 21 ,16 ,21 ,25 ,25*,49
第四趟: 16 ,08 ,21 ,25 ,25 ,49
第五趟: 08 ,16 ,21 ,25 ,25*,49
代码实现

#include<stdio.h>
int main()
{
	int m,n,a[20],i,j;
	printf("请输入数据的个数:\n");
	scanf("%d",&n);
	printf("请输入数据\n");
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	//主要代码
	for(i=0;i<n;i++)
	{
		for(j=0;j<n-i-1;j++)
			if(a[j]>a[j+1])
			{
				m=a[j];
				a[j]=a[j+1];
				a[j+1]=m;
			}
	}
	for(i=0;i<n-1;i++)
		printf("%d,",a[i]);
	printf("%d",a[n-1]);
	return 0;
}
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!