欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vector查找指定元素并删除

程序员文章站 2022-03-21 17:04:20
...
#include "stdafx.h"
#include "iostream"
#include "vector"
using namespace std;

int main()
{

	vector<int> NumberArray;
	NumberArray.push_back(1);
	NumberArray.push_back(1);
	NumberArray.push_back(2);
	NumberArray.push_back(2);

	int iFind = 1;
	vector<int>::iterator it = find(NumberArray.begin(), NumberArray.end(), iFind); //第一次查找
	while (it != NumberArray.end())  //判断是否找到
	{
		it = NumberArray.erase(it); //找到了删除  并 移动 it  指向下一个位置   
									//错误写法: NumberArray.erase(it); it++;  //原因vector中元素被删除之后it已经失效,不能进行++操作
		it = find(it, NumberArray.end(), iFind); //继续查找
	}

	return 0;
}