//直接插入排序void insertsort(int a[],int n)
{for(int n=2;i<=n;i++){if(a[i].key<a[i-1]/key){a[0]=a[i];for(int j=i-1;a[0].key<a[j].key;j--){a[j+1]=a[j];}a[j+1]=a[0];}}
}
//折半插入排序void insertsort(int a[],int n)
{int low,high,mid,i,j;for(int i=2;i<=n;i++){a[0]=a[i];low=0,high=i;while(low<high){mid=(low+high)/2;if(a[mid].key>a[0].key) high=mid-1;else low=mid+1;}for(int j=i-1;j>=low;j--){a[j+1]=a[j]; }a[j+1]=a[low]; }}