举个栗子------直接插入排序 2019.5.4
#include<stdio.h>
void insertsort(char a[],int n);
int main()
{
int i,k,n;
char a[100];scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("初始关键字:\n");
for(k=0;k<n;k++)
printf("%3d",a[k]);
printf("\n");insertsort(a,n);
printf("最后结果是:\n");
for(k=0;k<n;k++)
printf("%3d",a[k]);
printf("\n");return 0;
}
void insertsort(char a[],int n)
{
int i,j,t;
for(i=1;i<n;i++) //<=要不得
if((a[i]<a[i-1])&&i>=0)
{
t=a[i]; //替代品
for(j=i-1;j>=0&&a[j]>t;j--)
a[j+1]=a[j];//比一次挪一次
a[j+1]=t;
}
}
参考文章:https://blog.csdn.net/JYL1159131237/article/details/72871003