int find(int *a, int len, int key)
{
if (a == NULL || len < 1)
return - 1;
int low = 0;
int high = len - 1;
while(low <= high)
{
int mid = (low + high)/2;
if (a[mid] == key && a[mid - 1] != key)
{
return mid;
}
else if (a[mid] >= key)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
}查找有序数组中某个数首次出现的位置
最新推荐文章于 2023-12-17 19:07:58 发布
本文介绍了一种二分查找算法的具体实现方式,该算法用于在一个有序整型数组中找到特定元素的第一个出现位置。通过定义一个查找函数 find,采用递归思想进行区间划分,实现了高效查找。

307

被折叠的 条评论
为什么被折叠?



