顺序容器“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();

}



posted @ 2016-08-07 11:57  Vzf  阅读(199)  评论(0编辑  收藏  举报