编写一个在有序表中二分查找给定关键字记录的递归算法 (C语言)_百 ...
发布网友
发布时间:2024-05-10 04:01
我来回答
共1个回答
热心网友
时间:2024-05-10 13:24
其实这个书本上可以找到的,逻辑也比较容易实现。我写一下主要的逻辑吧。
int Serch(int * a, int low, int high. int key)
{
if (low <= high)
{
int mid = ( high - low) / 2 + low;
if (key == a[mid]) // 找到了
return mid;
else if (key < a[mid]) // 比中间值小,向前找
Serch(a, low, mid - 1, key);
else // 向后找
Serch(a, mid + 1, high, key);
}
return -1; // 没找到
}