思路:
设定查找范围的下限low,上限high,
由此确定查找范围的中间位置mid;
中间位置的值等于待查的值,查找成功
中间位置的值小于待查的值,low=mid+1
中间位置的值大于待查的值,high=mid-1
直到low>high,查找失败。
迭代代码:
#include <iostream>
using namespace std;
int bin_search(int str[], int n, int key){
//迭代
int mid;
low = 0;
high = n-1;
while(low <= high){
mid = (low + high)/2;
if(str[mid] == key)
return mid