SDUT3376資料結構實驗之查詢四:二分查詢
阿新 • • 發佈:2018-12-19
簡單題,就不多說了,不會的對答案,或者評論也行,哈哈
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int a[1000010];
int tag;
void kfind(int a[],int l,int r,int x){
if(l>r)
return ;
int k = (l+r)/2;
if(a[k]==x){
cout<<k<<endl;
tag = 1;
}
else if(x>a[k])
kfind(a,k+1,r,x);
else
kfind(a,l,k-1,x);
}
int main()
{
ios::sync_with_stdio(false);
int n,m;
cin>>n>>m;
for(int i=0; i<n; i++){
cin>>a[i];
}
for(int i=0; i<m; i++){
int x;
cin>> x;
tag = 0;
kfind(a,0,n-1,x);
if(!tag)
cout<<"-1"<<endl;
}
return 0;
}