直接插入排序
#include<stdio.h>
SimpleInsert(int a[],int n){
int i,j,t;
for(i=1; i<n; i++){
t=a[i];
for(j=i-1; j>=0&&a[j]>t; j--)
a[j+1]=a[j];
a[j+1]=t;
//不能用a[j+1]>a[i]替换a[i+1]>t
//理由因为a[j+1]=a[j]会修改数组的值
//所以a[i]的值会改变
}
}
Display(int a[],int n){
printf("\n");
for(int i=0; i<n; i++)
printf("%d ",a[i]);
}
int main(){
int i,n;
int a[100]={0};
printf("请输入一组数个数:");
scanf("%d",&n);
for(i=0; i<n; i++)
scanf("%d",&a[i]);
SimpleInsert(a,n);
Display(a,n);
}