bool bfind = false;
int low = 0, high = max-1, mid = 0;
while(low <= high)
{
mid = (high + low) / 2;
cmp = 比较函数【-1,0,1】
if (cmp < 0) {
low = mid + 1;//mid往右移动
} else if(cmp > 0) {
high = mid - 1;//mid往左移动
} else {
bfind = true;
break;
}
}
if (bfind) {
//找到处理
} else {
//没有找到,这里如果处理插入low表示插入位置
//可以做如下处理
if(low >= max) {
//最后追加数据
} else {
//前面插入数据,包括最开始位置/0位置
}
}

本文介绍了一种经典的二分查找算法实现,并讨论了在未找到目标元素时如何确定插入位置的方法。通过定义变量和逻辑判断,实现了高效查找及必要时的元素插入。
258

被折叠的 条评论
为什么被折叠?



