【C++】 vector.erase()
生活随笔
收集整理的這篇文章主要介紹了
【C++】 vector.erase()
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
函數(shù)原型
erase的函數(shù)原型有兩種形式:
iterator erase(iterator position);
iterator erase(iterator first, iterator last);
- 第一個(gè)表示刪除某一固定位置的元素
- 第二個(gè)可以刪除從某個(gè)位置至另外一個(gè) 位置之間的元素
問(wèn)題:如何刪除vector中多個(gè)值為val1的元素
三種方法:
代碼一:
代碼二:
vector<int>::iterator itor2;for(vector<int>::iterator iter=veci.begin(); iter!=veci.end(); ) {if( *iter == 3){ itor2=iter;veci.erase(itor2);}elseiter ++ ; }代碼三:
#include <vector> #include <iostream>int main() {using namespace std;int a[10] = {1, 1, 2, 3, 4, 5, 5, 2, 1, 23};vector<int> pts(a, a + 10);vector<int>::iterator it;int val = 1;//刪除值為1的全部元素for(it = pts.begin(); it != pts.end(); it++){if(*it == val){while(it == pts.begin() && *it == val){it = pts.erase(it);}if(*it == val){it = pts.erase(it) - 1;}}}//顯示for(int i = 0; i < pts.size(); i++)cout<<pts[i]<<endl;return 0; }參考
https://www.cnblogs.com/zsq1993/p/5930229.html
https://blog.csdn.net/qq_34581491/article/details/51487239
總結(jié)
以上是生活随笔為你收集整理的【C++】 vector.erase()的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 常见函数说明
- 下一篇: 理解图像中卷积操作的含义