C++ 二分查找函数模板

#include <iostream>
using namespace std;
template <typename T>
int binary_search(T* a,T b,int left,int right)
{
    int mid = (left + right) / 2;
    if (b > a[mid])
    {
        binary_search(a,b,mid+1,right);
    }
    else if (b < a[mid])
    {
        binary_search(a,b,left,mid-1);
    }
    else
        return mid;
}

int main()
{
    int a[] = { 1,2,3,4,5 };
    int b = binary_search(a, 5, 0, 4);
    cout << b ;
}

 

posted @ 2021-02-20 20:19  zhaohhhh  阅读(98)  评论(0)    收藏  举报