冒泡排序-C语言

冒泡排序-C语言

#include"stdio.h"

#define MAXSIZE 100
#define KEYTYPE int
typedef struct  
{
       KEYTYPE key;       
}RECNODE;

/*void bubblesort(RECNODE *r, int n)
{
	int i,j;
	RECNODE x;
	for(i=n-1;i>0;i--)
		for(j=0;j<i;j++)
			if(r[j].key>r[j+1].key)
			{
				x=r[j];			
				r[j]=r[j+1];			
				r[j=1]=x;
			}
}*/

void bubblesort(RECNODE *r, int n)
{//冒泡排序改进
    int i,j,flag;
	RECNODE x;
	for(i=n-1;i>0;i--)
	{
		flag=1;
		for(j=0;j<i;j++)
		if(r[j].key>r[j+1].key)
		{
			x=r[j];
			r[j]=r[j+1];
			r[j=1]=x;
			flag=0;
		}
		if(flag)
			break;
	}
}

main()
{
	RECNODE r[MAXSIZE];
	int i,n;
	printf("请输入待排序数据个数n:");
	scanf("%d",&n);

	printf("\n请输入%d个待排序数据的数:",n);
	for(i=0;i<n;i++)
		scanf("%d",&r[i].key);
	bubblesort(r,n);
	printf("\n排序后:");

	for(i=0;i<n;i++)
		printf("%5d",r[i].key);
	printf("\n");
}

关注下面这个关注号,了解更多信息。

头顶渐突终不悔,代码道出我的爱。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值