递归法
c++#include <iostream>
using namespace std;
int binarySearch(int* nums, int target, int left, int right)
{
//二分查找
if(left>right) return -1;
int mid = (left+right)/2;
if(nums[mid] == target) return mid;
if(nums[mid] < target) return binarySearch(nums, target, mid+1, right);
if(nums[mid] > target) return binarySearch(nums, target, left, mid-1);
}
int search(int* nums, int numSize, int target)
{
return binarySearch(nums, target, 0, numSize-1);
}
int main()
{
int nums[7] = {-1 ,2, 5, 6, 7, 8, 9};
int index = search(nums, 7, 5);
cout<<index<<endl;
return 0;
}
本文作者:peepdd864
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!