源代码如下:
// 对半查找
// 函数参数: int list[]; 存储数据的数组
// int list_len; 数组的长度
// int num; 待查找的数据
// 函数返回值
// -1 不存在
// n 数据所在的位置
int bin_search_num(int list[],int list_len,int num)
{
int left,right,middle;
left = 0;
right = list_len;
while(left <= right)
{
middle = (left + right)/2;
if(list[middle] == num)
{
return (middle +1);
}
else if (middle[list] < num)
{
left = (middle +1);
}
else
{
right = (middle -1);
}
}
return (-1);
}
运行效果图: