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

STL

开发平台:

C/C++

  1. //文件名:CHAPTER8-20.cpp
  2. #include <iostream>
  3. #include <list>
  4. #if _MSC_VER > 1020   // if VC++ version is > 4.2
  5.    using namespace std;  // std c++ libs implemented in std
  6. #endif
  7. typedef list<char >  CHARLIST;
  8. void print_contents (CHARLIST  list, char*);
  9. void main()
  10. {
  11.     CHARLIST  a; // 定义一个list变量
  12.     if(a.empty())      //判断容器是否为空
  13.         cout<<"a is empty"<<endl;
  14.     else
  15.         cout<<"a is not empty"<<endl;
  16.     //inset A, B, C and D  to a
  17.     a.push_back('A');
  18.     a.push_back('B');
  19.     a.push_back('C');
  20.     a.push_back('D');
  21.     //check again whether a is empty
  22.     if(a.empty())
  23.         cout<<"a is empty"<<endl;
  24.     else
  25.         cout<<"a is not empty"<<endl;
  26.     //print out the contents
  27.     print_contents (a,"a");  //调用打印函数,把deuqe的内容打印出来
  28.     cout <<"The first element of a is  " <<a.front()<<endl;// 使用数组的形式显示容器中的内容
  29. CHARLIST::iterator Startlist=a.begin(); 
  30.     cout <<"The first element of a is  " <<*Startlist <<endl; // 使用迭代器显示容器中的内容
  31.     cout <<"The last element of a is  " <<a.back() <<endl; // 使用数组形式显示容器中的内容
  32. CHARLIST::iterator Endlist=a.end(); 
  33.     cout <<"The last element of a is  " <<*Endlist<<endl; // 使用迭代器显示容器中的内容
  34. }
  35. //打印list成员函数
  36. void print_contents (CHARLIST  list, char *name)
  37. {
  38.     CHARLIST::iterator plist;  //定义迭代器
  39.     cout <<"The contents of "<< name <<" : ";
  40.     for(plist = list.begin();
  41.         plist != list.end();
  42.         plist++)
  43.         {
  44.             cout << *plist <<" " ; // 使用迭代器技术显示容器中的内容
  45.         }
  46.     cout<<endl;
  47. }