返回顶部

vector删除特定元素

删除vector中小于20的元素,注意要使迭代器失效,不能简单的删除。

#include <iostream>
#include <vector>
using namespace std;

int main() {
  vector <int> arr;
  arr.push_back(1);
  arr.push_back(27);
  arr.push_back(22);
  arr.push_back(21);
  arr.push_back(6);

  for (vector<int>::iterator it = arr.begin(); it != arr.end();) {
    if (*it < 20) {
      it = arr.erase(it);
    }
    else {
      ++it;
    }
  }
  for (int i = 0; i < arr.size(); ++i) {
    cout << arr[i]<<" ";
  }
}

 

posted @ 2020-11-20 15:19  十方央丶  阅读(828)  评论(0)    收藏  举报