1.二分递归查找
#include <iostream>
#include<vector>
using namespace std;
int binarySearch(vector<int> &a, int low, int high, int value) //二分递归查找
{int mid; if (low > high) return -1;mid = (low + high) / 2;if (a[mid] == value)return mid;if (a[mid] < value)return binarySearch(a, mid + 1, high, value);elsereturn binarySearch(a, low, mid - 1, value);
}int main()
{int N, value;avector<int> a;cin >> N; //输入cin >> value;for (int i = 0; i<N; i++) //定义向量vector<int> a代替数组,用push_back赋值{int num;cin >> num;a.push_back(num);}int result = binarySearch(a, 0, N - 1, value);cout << result << endl; //输出return 0;
}