首页 > 编程语言 > 详细

C++程序设计原理与实践 第二十六章部分答案

时间:2014-11-11 00:42:52      阅读:304      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
 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         else
14             return fn(vi+1,vi2,i);
15     }
16 
17 
18 }
自编的binary_search
bubuko.com,布布扣
 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         else
15             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     else
30     {
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         else
37             return 1;
38     }
39 
40 
41 }
习题2 3

 

C++程序设计原理与实践 第二十六章部分答案

原文:http://www.cnblogs.com/yueba/p/4088533.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!