#include <iostream>
#include<iomanip>
using namespace std;
int find(int left, int right, int a[],int k)
{
int mid = (left + right) / 2;
if (left <= right)
{
if (k > a[mid])
{
find(mid + 1, right, a, k);
}
else if (k < a[mid])
{
find(left, mid - 1, a, k);
}
else if (k == a[mid])
{
return mid;
}
}
else return -1;
}
int main()
{
int a[] = { 1,2,3,6,7,9,10 };
cout<<find(0, 6, a, 10);
system("pause");
}
再帰的なバイナリ検索
おすすめ
転載: blog.csdn.net/weixin_43983570/article/details/90546839
おすすめ
ランキング