stl操作2

来源:互联网 发布:我的世界服务器辅助js 编辑:程序博客网 时间:2024/06/05 15:29

1.在顺序容器中添加元素

 2.容器元素都是副本

3.添加元素可能会是迭代器失效

4.避免存储end操作返回的迭代器

#include <iostream>#include <vector>#include <list>#include <deque>#include <string>using namespace std;int main( int argc, char** argv ){vector<string> svec;list<string> slst;deque<string> sdeq;svec.push_back("Bill");svec.push_back("Tom");svec.push_back("Mary");slst.push_back("Bill");slst.push_back("Tom");slst.push_back("Mary");sdeq.push_back("Bill");sdeq.push_back("Tom");sdeq.push_back("Mary");slst.push_front("C++");slst.push_front("Primer");sdeq.push_front("Primer");sdeq.push_front("C++");for(list<string>::iterator itr = slst.begin(); itr != slst.end(); ++itr ){cout<<*itr<<" ";}cout<<endl;list<string>::iterator it = slst.begin();cout<<*it<<endl;++it;cout<<*it<<endl;slst.insert(it, "hello");for(list<string>::iterator itr = slst.begin(); itr != slst.end(); ++itr ){cout<<*itr<<" ";}cout<<endl;it = slst.begin();++it;++it;++it;cout<<*it<<endl;slst.insert(it, 10, "hi" );for(list<string>::iterator itr = slst.begin(); itr != slst.end(); ++itr ){cout<<*itr<<" ";}cout<<endl;string sarray[4] = {"qusai", "simba", "frollo", "scar" };it = slst.begin();++it;cout<<*it<<endl;slst.insert(it, &sarray[1], &sarray[4]);for(list<string>::iterator itr = slst.begin(); itr != slst.end(); ++itr ){cout<<*itr<<" ";}cout<<endl;//迭代器失效list<int> ilst;ilst.push_back(10);ilst.push_back(20);ilst.push_back(30);list<int>::iterator first = ilst.begin();//vector<int>::iterator last = ilst.end();//while(first != last)while(first != ilst.end() ){ilst.insert(first,42);++first;}for(list<int>::iterator i = ilst.begin(); i != ilst.end(); ++i ){cout<<*i<<" ";}cout<<endl;return 0;}


0 0
原创粉丝点击