본문 바로가기
코-딩/C & C++

C & C++ - Vector의 unique, sort

by ㅋㅂㅋ 2022. 3. 23.

C++ Vector는 중복을 제거하여 담는 contains 기능이 없다.

 

이때, list를 담아 중복을 제거하는 작업을 하는데

 

unique는 연속적인 값 만을 제거한다.

abcVector.erase(unique(abcVector.begin(), abcVector.end()), abcVector.end());

 

따라서 사전 작업으로 sort 해줘야 한다.

sort(abcVector.begin(), abcVector.end());

 

=========================================

C++에서 Vector contains는 std::find를 이용한다.

Find는 지정 시점부터 끝지점까지 탐색해서 없으면 끝 지점을 반환한다.

 

std::vector<tag_t> testList;

for(int j=0; j<cCnt; j++){

    tag_t data = datas[j];

    if(find(testList.begin(), testList.end(), data) === testList.end()) {

        testList.push_back(data);

    }

}