二分查找
非递归方法
//二分查找法,在有序的数组中,查找target //如果找到了target,返回相应的索引index template<typename T> int binarySearch(T arr[],int n,T target){ int l=0,r=n-1; while (l<=r) { // int mid = (l+r)/2; int mid = l +(r-l)/2; //避免溢出的问题 if(arr[mid] == target) return mid; //在arr[l...mid-1]之中查找target if(target<arr[mid]) r=mid-1; else l=mid+1; } return -1; }