C语言的冒泡排序
  6DMaaPzJglxt 2023年12月05日 14 0


冒泡排序

1.第1个和第2个关键字比较,若第1个大那么这两个数交换。
2.第2个和第3个关键字比较,若第3个大那么这两个数交换。
3.第3个和第4个关键字比较,若第4个大那么这两个数交换。
……

n个数据的数组,最多走n-1趟

举个栗子: 我进行一个6个数据数组的冒泡排序

void Bubblesort(int R[],int n)
{
	int i,j,temp,flag;
	for(i=n-1;i>=1;--i)
	{
		flag=0;//flag来标记本趟排序是否发生交换
		for(j=1;j<=i;++j)
		{
			if(R[j-1]>R[j])
			{
				temp=R[j];
				R[j]=R[j-1];
				R[j-1]=temp;
				flag=1;
			}
		}
		if(flag==0)//没有关键字的交换则有序结束,跳出循环
		{
			return;
		}
	}
}

主函数

int main()
{
	int n=6;
	int R[6];
	printf("输入6个数进行冒泡排序:\n");
	for(int i=0;i<=5;++i)
	{
		scanf("%d",&R[i]);
	}
	Bubblesort(R,n);
	printf("输出冒泡排序后的顺序:\n");
	for(i=0;i<=5;++i)
	{
		printf("%d ",R[i]);
	}
	return 1;
}

运行结果

C语言的冒泡排序_数组


C语言的冒泡排序_冒泡排序_02

ok,没问题很简单!


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月05日 0

暂无评论

推荐阅读
6DMaaPzJglxt