- #include <stdio.h>
- int binsearch(int a[], int s, int t, int key)
- {
- int low=s,high=t,mid;
- if(s<t)
- {
- mid=(high+low)/2;
- if(a[mid]==key)
- return mid;
- else if(a[mid]>key)
- return binsearch(a, low ,mid-1,key);
- else return binsearch(a,mid+1,high,key);
- }
- return -1;
- }
- int main()
- {
- long i,n,key,x,a[10001];
- scanf("%d",&n);
- for(i=1;i<=n;i++)
- scanf("%ld",&a[i]);
- scanf("%ld",&x);
- for(i=1;i<=n;i++)
- {
- scanf("%ld",&key);
- printf("%ld\\n",binsearch(a,1,n,key));
- }
- return 0;
- }
- //该片段来自于http://www.codesnippet.cn/detail/2508201614987.html
来源: http://www.codesnippet.cn/detail/2508201614987.html