1152: 二分搜索 非递归与递归
来源:互联网 发布:怎么开淘宝福利群 编辑:程序博客网 时间:2024/06/18 09:32
1152: 二分搜索
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1736 Solved: 634
SubmitStatusWeb Board
Description
在有序序列中查找某一元素x。
Input
首先输入一个正整数n(n<=100000),表示该序列有n个整数,然后按从小到大的顺序输入n个整数;
接着是一个正整数m,表示有m次查找;
最后是m个整数,表示m个要查找的整数x。
Output
对于每一次查找,有一行输出。若序列中存在要查找的元素x,则输出元素x在序列中的序号(序号从0开始);若序列中不存在要查找的元素x,则输出"Not found!"。
Sample Input
51 3 5 7 9 11-112345678910
Sample Output
Not found!0Not found!1Not found!2Not found!3Not found!4Not found!
HINT
//非递归
#include<iostream>using namespace std;int a[100000]={0};int Bsearch(int a[],int x,int n);int main (){ int n,m,i,x,k=0;cin>>n;for ( i=0;i<n;i++){cin>>a[i];} cin>>m; for (i=0;i<m;i++){ cin>>x; k=Bsearch(a,x,n); if (k) cout<<k-1<<endl; else cout<<"Not found!"<<endl;}return 0;}int Bsearch(int a[],int x,int n){ int low,high,mid; low=0; high=n-1; while ( low <= high ) { mid = (low+high)/2; if ( a[mid]==x ) return mid+1; else if ( a[mid] > x ) high = mid - 1; else low = mid + 1 ; } return 0;}
//递归调用
#include<iostream>int a[100000]={0};using namespace std;int Bsearch(int a[],int x,int low,int high);int main (){ int n,m,i,x;cin>>n;for ( i=0;i<n;i++){cin>>a[i];} cin>>m; while (m--){ cin>>x; int k=Bsearch(a,x,0,n-1); if (k==-1) { cout<<"Not found!"<<endl; continue; } else { cout<<k<<endl; continue; }}return 0;}int Bsearch(int a[],int x,int low,int high){ if (low>high) return -1; else { int mid=( low + high )/2; if ( x==a[mid] ) return mid; else if( x < a[mid]) return Bsearch(a,x,low,mid-1); else return Bsearch(a,x,mid+1,high); } }
阅读全文
0 0
- 1152: 二分搜索 非递归与递归
- 二分搜索的递归与非递归实现
- 二分搜索递归与非递归C语言实现
- 二分搜索非递归和递归算法
- 二分查找(递归与非递归)
- 二分查找递归与非递归总结
- 二分查找(递归与非递归)
- 递归与非递归进行二分查找
- 二分查找递归与非递归实现
- 二分查找递归与非递归算法
- 二分查找(递归与非递归)
- 二分查找(递归与非递归)
- 二分查找(递归与非递归)
- 二分查找(递归与非递归)
- 二分查找,递归与非递归实现
- 二分查找(递归与非递归)
- 二分查找的递归与非递归
- 二分查找的递归与非递归
- leetcode No135. Candy
- ubuntu16.40如何安装搜狗拼音输入法
- mysql 行级锁的使用以及死锁的预防
- Android Stuido删除一行的快捷键
- JAVA路径获取方法
- 1152: 二分搜索 非递归与递归
- Android ViewPager引导页滑动转跳主界面
- 【JavaEE】C标签的使用
- MVC4 网站发布(整理+部分问题收集和解决方案)
- 程序员面试金典——最大子方阵问题:找到四条边颜色相同的最大子方阵
- Spring面试,IoC和AOP的理解
- 接口测试,想说爱你并不难
- JVM垃圾回收机制
- 本地和asset点9图加载