自己编写的插入排序
/*
*name:insert-sort
*usage:realize insertion sort
*writer:shangliuyan
* */
/*
* descript:
* insertion(A,n)
* for j<-2 to n
* key<-A[j]
* i<-j-1
* while i>0 and A[i]>key
* A[i+1]<-A[i]
* i<-i-1
* A[i+1]<-key
*
*
*
*
* */
#include<stdio.h>
void insert(int a[],int n)
{
for(int j=1;j<=n;j++)
{
int key=a[j];
int i=j-1;
while(i>=0&&a[i]>key)
{
a[i+1]=a[i];
i=i-1;
}
a[i+1]=key;
}
}
void print(int a[],int n)
{
int i=0;
while(i<=n)
{
printf("%d ",a[i]);
i++;
}
printf(" \n");
}
int main()
{
int a[]={2,5,3,7,9,12,6};
print(a,6);
printf("the result is \n");
insert(a,6);
print(a,6);
return 0;
}