#include<iostream>
using namespace std;
int half(int n, int a[], int key)
{
int L = 0; int R = n - 1;
int mid = 0;
while (R - L >= 0)
{
mid = (L + R) / 2;
if (key == a[mid])return mid;
else if (a[mid] < key)L = mid + 1;
else R = mid - 1;
}return -1;
}
int main(int sb)
{
int n; cin >> n; int a[100] = { 0 };
for (int i = 9; i <= n + 8; i++)
{
a[i - 9] = i;
}
cout<<half(n, a, 12);
}
对半检索啊
最新推荐文章于 2024-11-12 12:29:51 发布
本文展示了如何在C++中使用半递归二分查找函数`half`在一个预排序数组`a[]`中查找特定值`key`的索引。通过while循环实现二分搜索逻辑,`main`函数作为入口点,输入数组和目标值后输出搜索结果。
摘要由CSDN通过智能技术生成