插入排序-C语言
#include"stdio.h"
#define MAXSIZE 100
#define KEYTYPE int
typedef struct
{
KEYTYPE key;
}RECNODE;
void insertsort(RECNODE *r ,int n)
{//直接插入排序
int i,j;
for(i=2;i<=n;i++)
{
r[0]=r[i];
j=i-1;
while(r[0].key<r[j].key)
{
r[j+1]=r[j];
j--;
}
r[j+1]=r[0];
}
}
main()
{
RECNODE r[MAXSIZE];
int i,n;
printf("请输入待排序数据个数n:");
scanf("%d",&n);
printf("\n请输入%d个待排序数据的数:",n);
for(i=1;i<=n;i++)
scanf("%d",&r[i].key);
insertsort(r,n);
printf("\n排序后:");
for(i=1;i<=n;i++)
printf("%5d",r[i].key);
printf("\n");
}
关注下面这个关注号,了解更多信息。
头顶渐突终不悔,代码道出我的爱。