冒泡排序-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");
}
关注下面这个关注号,了解更多信息。
头顶渐突终不悔,代码道出我的爱。