码迷,mamicode.com
首页 > 其他好文 > 详细

简单的二分查找法

时间:2015-05-27 08:35:45      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int binary_search(int len, int num[], int request) {
    int left = 0, right = len - 1, mid;
    while (left < right) {
        mid = (left+right)/2; // step 1: 首先请填写这里的mid
        if (request <= num[mid]) { // step 2: 之后请填写这里的条件表达式
            right = mid ; // step 2+: 请在这里填写right应该赋予的值
        } else { 
            left = mid +1 ; // step 3: 请在这里填写left应该赋予的值
        }
    }
    // step 4: 请在填写这里的条件表达式
    if (request >num[len -1] ) left++;
    return left;
}
int main() {
    int num[10] = {1, 3, 4, 5, 7, 8, 8, 9, 10, 13};
    printf("%d\n", binary_search(10, num, 6));
    return 0;
}

 

简单的二分查找法

标签:

原文地址:http://www.cnblogs.com/zhuyaguang/p/4532396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!