读书人

请问一个insert的有关问题!

发布时间: 2012-02-20 21:18:23 作者: rapoo

请教一个insert的问题!!
list<int> lst(10,1);
list<int>::iterator iter=lst.begin();
lst.insert(iter,5);
书上说的insert将插入元素在iter所指向元素前插入,但是这个iter指向的第1个,在第1个之前插入是有效的么????我只知道超出末端第1个元素,难道也有超出始端吗??

[解决办法]
list是一个双向链表,初始化时又一个节点,这个节点既是begin()也是end(),做标志位用,插入一个新节点只是将这些节点连接在一起,如下

CSS code
        list<int> li;    assert(li.begin() == li.end());    li.insert(li.begin(), 10); 

读书人网 >C++

热点推荐