算法的前提:所有的数据必须以升序进行排列
算法的思想核心:这个算法比较要搜索的元素与表中的中间项,然后此表分成两个较小且长度相等的子表,根据中间项与关键字进行比较,判读在那一边,在进行重复,最终便可找到关键字;
int Two_search(std::vector<>vec, int key)
{
int low = 0;
int high = vec.size();
int mid;
while (low <= high)
{
mid = (low + high) / 2; //折半
if (key < vec[mid])
high = mid - 1; //最高下标减一
else if (key > vec[mid])
low = mid + 1; //最低下标加一
else
return mid;
}
return 0;
}
搜索算法(二分搜索)
最新推荐文章于 2022-02-15 16:19:29 发布