0
点赞
收藏
分享

微信扫一扫

数据结构上机实验之二分查找


数据结构上机实验之二分查找


Time Limit: 1000MS Memory limit: 65536K


题目描述


 在一个递增的序列里,查找元素是否存在,若存在输出YES,不存在输出NO.


输入


 本题多组数据,首先输入一个数字n,然后输入n个数,数据保证数列递增,然后再输入一个查找数字。


输出


 若存在输出YES,不存在输出NO.


示例输入


4 1 3 5 8 3


示例输出


YES


提示


 


来源


 cz


示例程序

1. #include<stdio.h>  
2. int erfen(int a[],int s,int t,int key)  
3. {  
4. int low = s,high = t,mid;  
5. if(s<=t)  
6.     {  
7.         mid = low + (high - low)/2;  
8. if(a[mid] == key)  
9.         {  
10. return mid;  
11.         }  
12. if(a[mid]>key)  
13. return erfen(a,low,mid-1,key);  
14. else   
15. return erfen(a,mid+1,high,key);  
16.     }  
17. return -1;  
18. }  
19. int main()  
20. {  
21. int i,n,key,a[100001],w;  
22. while(scanf("%d",&n)!=EOF)  
23.     {  
24. for(i=0;i<n;i++)  
25.         {  
26. "%d",&a[i]);  
27.         }  
28. "%d",&key);  
29.     w = erfen(a,0,n-1,key);  
30. if(w>=1)  
31.         {  
32. "YES\n");  
33.         }  
34. else  
35. "NO\n");  
36.     }  
37. return 0;  
38. }

举报

相关推荐

0 条评论