本文主要是介绍1010: 折半查找的实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解法:
#include<iostream>
#include<vector>
using namespace std;
void solve() {int n;cin >> n;vector<int> vec(n);for (int& x : vec) cin >> x;int x;cin >> x;int l = 0, r = n-1, cnt = 0;while (l <= r) {cnt++;int mid = l + (r - l) / 2;if (vec[mid] > x) r = mid - 1;else if (vec[mid] < x)l = mid + 1;else {cout << mid << endl;cout << cnt;return;}}cout << -1 << endl;cout << cnt;
}
int main() {solve();return 0;
}
这篇关于1010: 折半查找的实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!