int binary_insert(int * arr , int f , int r , int key)
{
int end = r;
//先找到插入位置
while (f <= r)
{
int mid = (f + r) / 2;
if (key > arr[mid] )
{
f = mid + 1;
}
else if (key < arr[mid])
{
r = mid - 1;
}
else
{
break;
}
}
for (int i = end ; i >= r ; i--)
{
arr[i + 1] = arr[i];
}
arr[r] = key;
}