C++ List中删除某个中间元素

使用C++中的list容器,假设定义了一个list nlist(30);和迭代器list::iterator it= nlist.begin(); 现在我想删除nlist中的第i个元素如何删除?我写的是nlist.erase(it+i);但是报错,原因是一个整型的i不能跟it直接相加。请问如何才能解决了这个问题?

list<int>::iterator it = nlist.begin();  
advance(it,i);
nlist.erase(it); 
  • list<int>::iterator it = nlist.begin();
  • advance(it,i);
  • nlist.erase(it);

这样就实现了,是不是很简单。

但是这个的计算复杂度就比较高了

版权声明:本文为博主原创文章,如果转载请注明出处。 https://blog.csdn.net/hutianyou123/article/details/78205245

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章