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

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