二分查找无重复数组的二分查找(非递归版本)
Posted wanglei5205
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分查找无重复数组的二分查找(非递归版本)相关的知识,希望对你有一定的参考价值。
// 二分查找法 #include <iostream> #include <vector> using namespace std; int BinarySearch(vector<int> vec,int target) { // 特殊输入 if(vec.size() <= 0) return -1; // 二分查找(非递归) int low = 0; int mid = 0; int high = vec.size()-1; // 注意:取等号 while(low <= high) { mid = (low + high)/2; if(vec[mid] == target) return mid; if(vec[mid] > target) high = mid-1; else low = mid+1; } return -1; } int main() { vector<int> vec = {1,2,3,5,7,7,7,7,9,10}; int target; while(cin>>target) cout<<BinarySearch(vec,target)<<endl; return 0; }
以上是关于二分查找无重复数组的二分查找(非递归版本)的主要内容,如果未能解决你的问题,请参考以下文章