#include < iostream > #include < vector > #include < list > #include < algorithm > using namespace std; /**/ /*// The procedure to compare a vector and a list is find if they are equal.bool compare(const vector<int> &vec,const list<int> &lst){ vector<int>::const_iterator iter=vec.begin(); list<int>::const_iterator it=lst.begin(); for(;iter!=vec.end(),it!=lst.end();++iter,++it) { if(*it!=*iter) return 0; //if vec is not equal to lst } if(iter==vec.end()&&it!=lst.end()||iter!=vec.end()&&it==lst.end()) return 0; // not equal return 1;}*/ int main() ... { vector<int> ivec; for(size_t i=0;i<10;++i) ...{ ivec.push_back(i); } for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();++iter) ...{ cout<<*iter<<" "; } cout<<endl; list<int> ilist; for(size_t i=0;i<15;++i) ...{ ilist.push_back(i); } ilist.resize(20); for(list<int>::iterator iter=ilist.begin();iter!=ilist.end();++iter) ...{ cout<<*iter<<" "; } cout<<endl; // one method list<int> tmp(ivec.begin(),ivec.end()); if(tmp==ilist) cout<<"ilist equal to ivec."<<endl; else cout<<"ilist is not equal to ivec."<<endl; /**//* // Another method if(compare(ivec,ilist)) cout<<"Equal..."<<endl; else cout<<"Not equal..."<<endl; */ vector<int>::size_type maxsize=ivec.max_size(); // The max size ivec can contain cout<<"max_size="<<maxsize<<endl; vector<int>::size_type size=ivec.size(); // current size of ivec cout<<"Size in ivec:"<<size<<endl; int &val=ilist.front(); // list<int>::reference val=ilist.front(); val=90; cout<<val<<endl; cout<<ivec.at(5)<<endl; ilist.pop_front(); ilist.pop_back(); list<int>::iterator lstit=find(ilist.begin(),ilist.end(),8); // find() function of algorithm ilist.erase(lstit); for(list<int>::iterator iter=ilist.begin();iter!=ilist.end();++iter) ...{ cout<<*iter<<" "; } cout<<endl; return 0;} 今晚的C++练习。 C++ primer English Fourth edition P322 Exercise 9.18