//折半插入排序算法
void BiInsertSort(int *Data,int n)
{
int i,j,low,high,mid,temp;
for(i=1;i<n;i++)//先确定第i個元素應插入的位置
{
temp=Data[i];
low=0,high=i-1;
while(low<=high)
{
mid=(low+high)/2;
if(temp<Data[mid])
high=mid-1;
else
low=mid+1;
}
for(j=i-1;j>=low;j--)
Data[j+1]=Data[j];
Data[j+1]=temp;
}
}