当前位置: 代码迷 >> 综合 >> C/C++编程题
  详细解决方案

C/C++编程题

热度:1   发布时间:2024-02-04 16:52:25.0

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;
}

 

  相关解决方案