#include <stdio.h>
/*
1.有序数据
2.定义下标 min、max、mid
*/
int findIndex(int value)
{
int a[5] = {0,1,2,3,4};
int min = 0;
int max = sizeof(a) / sizeof(int) -1;
int mid = (min + max) / 2;
int k = value;
while(min <= max)
{
if(k < a[mid])
{
max = mid -1;
mid = (max + min) / 2;
}
else if(k > a[mid])
{
min = mid + 1;
mid = (min + max) / 2;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
int index = 0;
index = findIndex(8);
printf("index = %d\n",index);
while(1);
}
笔试题-二分法
最新推荐文章于 2021-08-29 15:59:44 发布