1. 程式人生 > >SDUT3376資料結構實驗之查詢四:二分查詢

SDUT3376資料結構實驗之查詢四:二分查詢

簡單題,就不多說了,不會的對答案,或者評論也行,哈哈

#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; }