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

浙公网安备 33010602011771号