数据结构:二分查找算法

来源:互联网 发布:北京政务数据资源网 编辑:程序博客网 时间:2024/06/08 08:34
#include <iostream>using namespace std;int b[]={1,2,3,4,5,6,7,8,9};/*递归做法int BSearch(int x,int low,int high){if(low<=high){int m = (low+high)/2;if(x<b[m]) return BSearch(x,low,m-1);else if(x>b[m]) return BSearch(x,m+1,high);else return m;}return -1;}*///迭代算法int BSearch(int x){int m,low=0,high=8;while(low<high){m=(low+high)/2;if(x<b[m]) high=m-1;else if(x>b[m]) low=m+1;else {x=b[m];return m;}}return -1;}int main(){//cout<<BSearch(2,0,8)<<endl;cout<<BSearch(2)<<endl;return 0;}

0 0
原创粉丝点击