一. push_back()、pop_back()、push_front()、pop_front
二. insert之一.
例1:
//小问学编程#include <functional>#include <iostream>#include <list>#include <algorithm>using namespace std;int main(){list<int> ilist{15,37,94,50,73,58,28,98};list<int>::iterator it=ilist.begin();++++it;int ival=6;while(it!=ilist.end()){if(*it>=ival){ilist.insert(it,ival);break;//插入成功}++it;}if(it==ilist.end())ilist.push_back(ival);for (it=ilist.begin();it!=ilist.end();++it){cout<<*it<<' ';}return 0;}
运行结果:
分析:
三. insert之二.
例2:
//小问学编程#include <functional>#include <iostream>#include <list>#include <algorithm>using namespace std;int main(){string sval=("cake");list<string> slist{"you","are","my","cake","!"};list<string>::iterator it=find(slist.begin(),slist.end(),sval);slist.insert(it,8,string("best"));for (it=slist.begin();it!=slist.end();++it){cout<<*it<<' ';}return 0;}
运行结果:
分析:
四. insert之三.
例3:
//小问学编程#include <functional>#include <iostream>#include <list>#include <algorithm>using namespace std;int main(){int ia1[7]={1,1,2,3,5,55,89};int ia2[4]={8,13,21,34};list<int> elems(ia1,ia1+7);list<int>::iterator it=find(elems.begin(),elems.end(),55);elems.insert(it,ia2+1,ia2+4);for (it=elems.begin();it!=elems.end();++it){cout<<*it<<' ';}return 0;}
运行结果:
五. insert之四.
程序示例参考博文——《Essential C++》笔记之使用Iterator Inserter(插入迭代器)
六. erase操作
例1:
//小问学编程#include <functional>#include <iostream>#include <list>#include <algorithm>using namespace std;int main(){list<string> slist{"you","are","my","cake","!"};list<string>::iterator it=find(slist.begin(),slist.end(),"cake");slist.erase(it);for (it=slist.begin();it!=slist.end();++it){cout<<*it<<' ';}return 0;}
运行结果:
例2:
//小问学编程#include <functional>#include <iostream>#include <list>#include <algorithm>using namespace std;int main(){list<string> slist{"you","are","my","cake","!"};list<string>::iterator it;list<string>::iterator it1=find(slist.begin(),slist.end(),"are");list<string>::iterator it2=find(slist.begin(),slist.end(),"cake");slist.erase(it1,it2);for (it=slist.begin();it!=slist.end();++it){cout<<*it<<' ';}return 0;}
运行结果:
C++之顺序性容器vector list deque的push_back pop_back push_front pop_front 插入(insert)和删除(erase)通用操作及其变形