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);
}
}
'코-딩 > C & C++' 카테고리의 다른 글
asprintf : print로 찍은 내용을 변수에 담기 (0) | 2024.10.02 |
---|---|
C & C++ - 구조체 (0) | 2023.03.23 |
C & C++ - string을 char*으로 변환 (0) | 2022.10.12 |
C & C++ - char* 을 toupper/tolower로 변환하기 (0) | 2022.10.12 |
C & C++ - 자주 사용하는 함수 (0) | 2022.06.24 |