面试题目-findmax的实现

 1 #include <vector>
 2 #include <iostream>
 3 #include "printCollection.h"
 4 
 5 using namespace std;
 6 
 7 /**
 8  * Return the maximum item in array a.
 9  *Assume a.size()>0;
10  *Comparable object must provide operator< and operator=
11  */
12 template<class comparable>
13 const comparable& findMax(const vector<comparable> &rhs)
14 {
15     int maxIndex = 0;
16 
17     for(int i = 0; i < rhs.size(); i++)
18         if(rhs[maxIndex] < rhs[i] )
19             maxIndex = i;
20 
21     return rhs[maxIndex];
22 }
23 
24 int main() 
25 {
26     int ia[7] = {1, 2, 23, 13, 44, 12, 231};
27     string sa[] = {"ab", "b", "c"};
28 
29     vector<int> iva(ia, ia+sizeof(ia)/sizeof(ia[0]));
30     vector<string> sva(sa, sa+sizeof(sa)/sizeof(sa[0]));
31 
32     cout << findMax(iva) << endl;
33     cout << findMax(sva) << endl;
34 }

posted on 2014-07-19 18:14  醉清风JM  阅读(377)  评论(0编辑  收藏  举报

导航