二分查找

来源:互联网 发布:机顶盒看电视的软件 编辑:程序博客网 时间:2024/03/29 22:36
#include<iostream>//date 2013.10.15//reference http://blog.csdn.net/v_july_v/article/details/7093204using namespace std;int binary_search(int array[], int n, int value){int left =0;int right = n-1;while (left <= right){//防止溢出int middle = left + ((right - left) >> 1);if (array[middle] > value){right = middle -1;}else if (array[middle] < value){left = middle +1;}else{//放在后面减少比对次数return middle;}}return -1;}int main(int argc, char *argv[]){int array[6] = {1, 2, 4, 6, 8, 9};int nreturn = binary_search(array, 6, 4);cout<<nreturn<<endl;return 0;}

原创粉丝点击