#include <stdio.h>
int Search(int arr[], int l, int r, int x)
{
while (l < r)
{
int mid = l + (r - l) / 2;
if (arr[mid] < x)
l = mid + 1;
else r = mid;
}
if (arr[l] == x) return l + 1;
else return -1;
}
int main()
{
int n, m;
scanf("%d %d", &n, &m);
int a[n];
for (int i = 0; i < n; i++)
scanf("%d", &a[i]);
for (int i = 0; i < m; i++)
{
int q;
scanf("%d", &q);
int index=Search(a, 0, n - 1, q);
printf("%d ", index);
}
return 0;
}
洛谷P2249查找--c语言(二分法)
于 2023-11-28 21:21:25 首次发布