#include <stdio.h>
void Insertsort(int a[],int n)
{
int i,j;
int tmp;
for(i=1;i<n;i++)
{
tmp=a[i];
for(j=i-1;j>=0 && a[j]>tmp;j--)
{
a[j+1]=a[j];
}
a[j+1]=tmp;
}
}
void swap(int *x,int *y)
{
int tmp;
tmp=*x;
*x=*y;
*y=tmp;
}
void Insertsort1(int a[],int n)
{
int i,j;
int tmp;
for(i=1;i<n;i++)
for(j=i-1;j>=0 && a[j]>a[j+1];j--)
swap(&a[j],&a[j+1]);
}
void main()
{
int a[10]={1,2,3,4,5,6,35,12,21,10};
int len;
int i;
len=sizeof(a)/sizeof(a[0]);
Insertsort1(a,len);
printf("%d\n",len);
for(i = 0;i<len;i++)
printf("%d ",a[i]);
printf("\n");
}
http://blog.youkuaiyun.com/morewindows/article/details/6665714