分治法之二分查找
Posted xjyxp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分治法之二分查找相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <algorithm> using namespace std; const int M = 10000; int x,n,i; int s[M]; int BinarySearch(int n,int s[],int x) int low=0,high=n-1; while(low<=high) int middle=(low+high)/2; if(x==s[middle]) return middle; else if(x>s[middle]) low=middle+1; else high=middle-1; return -1; int main() while(cin>>n) for(i=0; i<n; i++) cin>>s[i]; sort(s,s+n); for(i=0; i<n; i++) cout<<s[i]<<" "; cout<<endl; cin>>x; i=BinarySearch(n,s,x); if(i==-1) cout<<"meiyou"<<endl; else cout<<"di"<<i+1<<"wei"<<endl; return 0;
以上是关于分治法之二分查找的主要内容,如果未能解决你的问题,请参考以下文章