首页 > 代码库 > C++程序设计原理与实践 第二十六章部分答案
C++程序设计原理与实践 第二十六章部分答案
1 bool fn(vector<int>::iterator vi1,vector<int>::iterator vi2,int i) 2 { 3 vector<int>::iterator vi3=vi2-1; 4 if(vi1>vi3) 5 return 0; 6 else 7 { 8 vector<int>::iterator vi=vi1+(vi2-vi1)/2; 9 if(*vi==i)10 return 1;11 else if(*vi>i)12 return fn(vi1,vi,i);13 else14 return fn(vi+1,vi2,i);15 }16 17 18 }
1 template<class U,class T> 2 bool fn(U vi1,U vi2,const T&i) 3 { 4 U vi3=vi2-1; 5 if(vi1>vi3) 6 return 0; 7 else 8 { 9 U vi=vi1+(vi3-vi1)/2;10 if(*vi==i)11 return 1;12 else if(*vi>i)13 return fn(vi1,vi,i);14 else15 return fn(vi+1,vi2,i);16 }17 18 19 }20 21 22 23 template<class U,class T,class P>24 bool fnn(U vi1,U vi2,const T&i,P p)25 {26 U vi3=vi2-1;27 if(vi1>vi3)28 return 0;29 else30 {31 U vi=vi1+(vi3-vi1)/2;32 if(!p(*vi,i))33 fnn(vi1,vi,i,p)34 else if(!p(i,*vi))35 return fnn(vi+1,vi2,i,p);36 else37 return 1;38 }39 40 41 }
C++程序设计原理与实践 第二十六章部分答案
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。