#include<iostream>
using namespace std;
int dichotomy(int arr[],int num)
{
int max = 10;
int min = 0;
while (true)
{
int mid = (max + min) / 2;
if (num==arr[mid])
{
return mid;
}
else if (num>arr[mid])
{
min = mid + 1;
}
else if (num<arr[mid])
{
max = mid - 1;
}
if (min>max)
{
return -1;
}
}
}
int main(int argc, char *argv[])
{
int arr[10] = { 0,1,2,3,4,5,6,7,8,9};
cout << dichotomy(arr, -5) << endl;
system("pause");
return 0;
}
c++实现二分查找法
最新推荐文章于 2024-07-23 20:56:47 发布