//二分插入排序
void Binary_insert_sort(int arr[],int n)
{
int i,j,r,low,high,mid;
for(i = 1;i < n; i++)
{
r = arr[i];
low = 0,high = i-1;
while(low <= high)
{
mid = (low+high)/2;
if(r > arr[mid])low = mid+1;
else high = mid -1;
}
for(j = i-1;j>=high+1;j--)
arr[j+1] = arr[j];
arr[high+1] = r;
}
}