#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int binsearch(int x, int v[],int size)
{
int left = 0;
int right = size - 1;
int mid = 0;
while (left<=right)
{
mid = left + (right - left) / 2;
if (x < v[mid])
{
right = mid - 1;
}
else if (x > v[mid])
{
left = mid + 1;
}
else
{
return mid;
break;
}
}
return -1;
}
int main()
{
int v[] = { 1,2,3,4,5,6,7,8,9,10 };
int t = 0;
int size = sizeof(v) / sizeof(v[0]);
t = binsearch(6, v,size);
if (t != -1)
printf("找到了,下标是%d\n", t);
else
printf("找不到\n");
return 0;
}
VS2022中运行代码结果为: