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;
}
}
}
查找有序数组中某个数首次出现的位置
最新推荐文章于 2024-04-08 12:52:48 发布