您的位置:首页 > 理论基础 > 数据结构算法

c++数据结构——递归的折半查找

2019-06-09 20:04 169 查看
[code]#include <iostream>
using namespace std;
int binarysearch_r(int *list, const int n, const int low, const int high);
int main()
{
int a[] = { 1,2,3,4,5,6,7,8,9,10 };
int b;
cout << "please enter a number:";
cin >> b;
int c = binarysearch_r(a, b,0,9);
if (c == -1)
cout << "没找到" << endl;
else
cout << "a[" << c<< "]=" << a[c] << endl;
return 0;
}
int binarysearch_r(int *list, const int x , const int low, const int high)        //递归的折半查找
{
if (low <= high)
{
int mid = (low + high) / 2;
if (list[mid] == x)
return mid;
else if (list[mid] < x)
return binarysearch_r(list, x, mid + 1, high);
else
return binarysearch_r(list, x, low, mid - 1);
}
return -1;
}

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: