分治法——二分查找

// 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;
}

猜你喜欢

转载自www.cnblogs.com/ZengWeiHao/p/10449759.html