要求用折半查找写程序 求个流程图 谢谢
流程图我不会画,程序摆下边你验证下,我大致看了下没什么问题
#include<iostream>
using namespace std;
template<typename T>
int Find(T ar[],const T& fnd,const int rt,const int lt=0){
if(rt<0){cout<<"错误:数组大小应是正数";exit(1);}
int mid = (lt+rt)/2;
if(ar[mid] == fnd) return mid;
if( mid == lt || mid == rt) return -1;
if(ar[mid] > fnd) return Find(ar,fnd,mid,lt);
return Find(ar,fnd,rt,mid);
}
int ar[13] = {1,2,3,4,5,6,8,9,11,13,15,17,19};//假设序列为递增
int main(){
cout<<Find(ar,13,13)<<endl;
return 0;
}...
12587