vector--erase()安全删除指定元素

如何使用erase方法删除指定元素?
algorithm 头文件 remove() 和 erase() 一起使用

代码:

1 remove方法介绍

 	vector<int> vi = {1,2,2,4};
    remove(vi.begin(),vi.end(),2);
    for(auto &i:vi)
        cout<<i<<" "; 
    //输出: 1 4 2 4 (后面的2 4为覆盖的部分)

2 erase 删除元素2

	// remove返回元素2的位置,后面的元素时覆盖的元素,之后可以用erase删除后面的元素
	vector<int> vi = {1,2,2,4};
	vi.erase(remove(vi.begin(),vi.end(),2),vi.end());
    for(auto &i:vi)
        cout<<i<<" ";
    cout<<endl;
    输出:1 4

你可能感兴趣的:(stl,算法,c++,stl)