#include <bits/stdc++.h>
using namespace std;
int _array[1000010];
int Find(int a[], int low, int high, int key);
int main()
{
int n, m;
cin >> n >> m;
for(int i = 0; i < n; i++)
{
scanf("%d", &_array[i]);
}
while(m -- )
{
int key;
cin >> key;
cout << Find(_array, 0, n-1, key) << endl;
}
return 0;
}
int Find(int a[], int low, int high, int key)
{
if(low <= high)
{
int mid = (low+high) / 2;
if(a[mid] == key)
{
return mid;
}
else if(a[mid] > key)
{
Find(a,low, mid-1, key);
}
else if(a[mid] < key)
{
Find(a, mid+1, high, key);
}
}
else return -1;
}
SDUT 3376 数据结构实验之查找四:二分查找
最新推荐文章于 2020-12-15 10:28:34 发布