CHAPTER11-2.cpp
上传用户:fjc899
上传日期:2007-07-03
资源大小:187k
文件大小:2k
源码类别:

STL

开发平台:

C/C++

  1. //文件名:CHAPTER11-2.cpp
  2. #pragma warning(disable: 4786)
  3. #include <iostream>
  4. #include <algorithm>
  5. #include <functional>
  6. #include <string>
  7. #include <vector>
  8. using namespace std;
  9. void main()
  10. {
  11.     const int VECTOR_SIZE = 8 ;
  12.     // Define a template class vector of strings
  13.     typedef vector<string > StringVector ;
  14.     //Define an iterator for template class vector of strings
  15.     typedef StringVector::iterator StringVectorIt ;
  16.     StringVector NamesVect(VECTOR_SIZE) ;   //vector containing names
  17.     string value("Sea") ;  // stores the value used to count matching elements
  18.     StringVectorIt start, end, it ;
  19.     int result = 0 ;   // stores count of elements that match value.
  20.     // Initialize vector NamesVect
  21.     NamesVect[0] = "She" ;
  22.     NamesVect[1] = "Sells" ;
  23.     NamesVect[2] = "Sea" ;
  24.     NamesVect[3] = "Shells" ;
  25.     NamesVect[4] = "by" ;
  26.     NamesVect[5] = "the" ;
  27.     NamesVect[6] = "Sea" ;
  28.     NamesVect[7] = "Shore" ;
  29.     start = NamesVect.begin() ;   // location of first element of NamesVect
  30.     end = NamesVect.end() ;       // one past the location last element of NamesVect
  31.     // print content of NamesVect
  32.     cout << "NamesVect { " ;
  33.     for(it = start; it != end; it++) cout << *it << " " ;
  34.     cout << " }n" << endl ;
  35.     // Count the number of elements in the range [first, last +1) that match value.
  36.     result = count(start, end, value) ;
  37.     // print the count of elements that match value
  38.     cout << "Number of elements that match "Sea" = "<< result << endl  ;
  39. }