/**
* 2017年4月19日18:01:27
* ------------------------------------------------------
* 本程序的问题描述:
* 折半查找算法的非递归实现
* ------------------------------------------------------
* 本程序的主要思路是:
* data[]原始数据,x 待查找的值,low 查找范围的起始,查找范围的终止
* ------------------------------------------------------
*/
int BiSearch(int data[], const int x, int low, int high)
{
int mid;//中间位置
if (low > high)
{
return -1;
}
while(low <= high)
{
mid = (low + high) / 2;
if (x == data[mid] )
{
return mid;
}
else if (data[mid] < x)
{
low = mid + 1;
}
else if (data[mid] > x)
{
high = mid - 1;
}
}
return -1;
}
折半查找的迭代实现
最新推荐文章于 2022-05-05 13:05:12 发布