vector erase()
vector erase()
Created at : 2023-10-19 22:23
vector의 erase 메소드주어진 구간의 값을 삭제해 준다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> a;
a.resize(5);
a[0] = a[1] = 1;
a[2] = 2;
a[3] = a[4] = 3;
cout << "### Origin ###" << endl;
vector<int>::iterator Iter = a.begin();
for(;Iter != a.end(); ++Iter)
{
cout << *Iter << ' ';
}
cout << endl << endl;
cout << "### Apply erase ###" << endl;
a.erase((++a.begin()), a.end());
Iter = a.begin();
for(;Iter != a.end(); ++Iter)
{
cout << *Iter << ' ';
}
return 0;
}
/*
### Origin ###
1 1 2 3 3
### Apply erase ###
1
*/
a.erase((++a.begin()), a.end());
이 부분은 1번째 인덱스부터 마지막 인덱스까지 삭제하게 만들었다. 이 부분을 unique()와 같이 적용하면 unique한 부분만 남기고 나머지는 삭제 할 수 있다.