顺序容器“inset”的思考
int main(int argc,char *argv[]) { QCoreApplication a(argc, argv); list<int> ilist{1,2,3,4,}; list<int>::iterator lst = ilist.begin(); lst = ilist.insert(lst,0); cout << "ouput:" << *lst << endl; return a.exec(); }
outut:0
可以看出insert之后返回的是指向新插入元素的迭代器,利用这点可以向特定的位置反复插入元素。
(注意:如果容器中尾部之外需要插入元素的话,一般使用list而不使用vector,vector需要所有元素都移动,效率比较低。)
</pre><pre code_snippet_id="1814091" snippet_file_name="blog_20160807_6_2035571" name="code" class="cpp"><pre name="code" class="cpp">int main(int argc,char *argv[]) { QCoreApplication a(argc, argv); list<int> ilist{1,2,3,4,}; list<int>::iterator lst = ilist.begin(); int digital; while(cin >> digital) lst = ilist.insert(lst, digital); return a.exec(); }