仔细看了一下二分算法
发现就是一个折中的过程
不断取中点然后进行交换值
贴一下代码 明天补一个二分题
void binary_insertion_sort(int arr[], int len)
{
int i, j, temp, m, low, high;
for (i = 1; i < len; i++)
{
temp = arr[i];
low = 0; high = i-1;
while (low <= high)
{
m = (low +high) / 2;
if(arr[m] > temp)
high = m-1;
else
low = m+1;
}
for (j = i-1; j>=high+1; j–)
arr[j+1] = arr[j];
arr[low] = temp;
}
}
二分算法
最新推荐文章于 2023-01-24 16:35:32 发布