最佳答案:list<int> nlist(30); list<int>::iterator pnlist = nlist.begin(); adv
list<int> nlist(30); list<int>::iterator pnlist = nlist.begin(); advance(pnlisr,i);//迭代器前进i个元素,注意i是从0开始 if(pnlisr!=nlist.end()
)//最后一个不能删除 nlist.erase(pnlisr);//删除第i个元素 其实advance这个辅助函数,对你的迭代器的复杂度是O(N),和使用++操作符步进i次在效率上没有什么区别,只是代码上方便一些。