#include <stdio.h>
#define MAXL 100
typedef int KeyType;
typedef char InfoType;
typedef struct
{ KeyType key;
InfoType data;
} RecType;
void swap(RecType &x,RecType &y)
{
RecType tmp=x;
x=y; y=tmp;
}
void CreateList(RecType R[],KeyType keys[],int n)
{
for (int i=0;i<n;i++)
R[i].key=keys[i];
}
void DispList(RecType R[],int n)
{
for (int i=0;i<n;i++)
printf("%d ",R[i].key);
printf("\n");
}
void CreateList1(RecType R[],KeyType keys[],int n)
{
for (int i=1;i<=n;i++)
R[i].key=keys[i-1];
}
void DispList1(RecType R[],int n)
{
for (int i=1;i<=n;i++)
printf("%d ",R[i].key);
printf("\n");
}
void InsertSort(RecType R[],int n)
{ int i, j; RecType tmp;
for (i=1;i<n;i++)
{
printf(" i=%d,插入%d,插入结果: ",i,R[i].key);
if (R[i].key<R[i-1].key)
{ tmp=R[i];
j=i-1;
do
{ R[j+1]=R[j];
j--;
} while (j>=0 && R[j].key>tmp.key);
R[j+1]=tmp;
}
DispList(R,n);
}
}
int main()
{ int n=10;
KeyType a[]={9,8,7,6,5,4,3,2,1,0};
RecType R[MAXL];
CreateList(R,a,n);
printf("排序前: "); DispList(R,n);
InsertSort(R,n);
printf("排序后: "); DispList(R,n);
return 1;
}
08-02
6452
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-03
2816
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
10-23
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交