分治法——二分查找

Posted zengweihao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分治法——二分查找相关的知识,希望对你有一定的参考价值。

// test.cpp: 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<string.h>
using namespace std;
//求每一位总和

int BinSearch(int a[], int low, int high, int k) {
    
    if (low <= high) {
        int mid = (low + high) / 2;
        if (a[mid] == k)return mid;
        else if (a[mid] < k)BinSearch(a, mid + 1, high, k);
        else if (a[mid] > k)BinSearch(a, low, mid,k);
    }
    else return -1;
}

int main()
{
    int a[] = { 1,3,5,6,7,8,10 };
    int re=BinSearch(a, 0, 6, 5);
    cout << re << endl;
    return 0;
}

技术图片

 

以上是关于分治法——二分查找的主要内容,如果未能解决你的问题,请参考以下文章

分治法(二分查找)

分治法——二分查找

分治法应用之二分查找 快速排序递归排序

分治法之二分查找

算法导论第2章 分治法与归并排序, 二分查找法

二分查找算法