본문 바로가기

ComputerScience/C++

C++ - vector 중복 원소 제거

728x90
#include<vector>
#include<algorithm>
#include<string>
using namespace std;

int main()
{
    // a b a c b a b
    vector<string> s;
	s.push_back("a");
	s.push_back("b");
	s.push_back("a");
	s.push_back("c");
	s.push_back("b");
	s.push_back("a");
	s.push_back("b");
    
	
    // a a a b b b c
	sort(s.begin(), s.end());

    // unique 이후 : a b c ? ? ? ?
    // erase 이후 : a b c
    s.erase(unique(s.begin(),s.end()),s.end());
}

- unique는 연속된 중복 원소를 쓰레기 값으로 치환하여 vector의 제일 뒷부분으로 보내버린다.

- 그리고 반환값으로 쓰레기 값이 시작하는 위치를 반환한다.

 

728x90
반응형

'ComputerScience > C++' 카테고리의 다른 글

C++ STL Algorithm  (0) 2021.11.24
C++ STL iterator  (0) 2021.11.24
C++ STL associative container  (0) 2021.11.11
C++ STL sequence container  (0) 2021.11.11
C++ - Template  (0) 2021.11.11