자료구조 & 알고리즘/기타

unique(), remove() 함수 주의사항

diesuki4 2023. 5. 7. 20:16

 

vector에 unique(), remove() 함수를 적용해도 실행 전후의 크기는 같다.

 

unique() 함수와 remove() 함수 모두 크기는 동일하지만, 필요 없는 값으로 채워지기 시작하는 반복자 위치를 반환한다.

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void print(vector<int>& v);

int main()
{
    vector<int> v1 = {1, 1, 2, 2, 3, 3, 4, 5, 6};
    vector<int> v2(v1);
    
    unique(v1.begin(), v1.end());
    print(v1);
    
    remove(v2.begin(), v2.end(), 2);
    print(v2);    
}

 

출력

1 2 3 4 5 6 4 5 6
            ^
1 1 3 3 4 5 6 5 6
              ^