입력을 처리하기 전에 중복이 존재하는지 확인해야 할 때, map<T, bool> 타입으로 bool 값을 따로 저장하지 않아도 된다.
set과 unordered_set은 insert() 함수의 반환 값으로 삽입된(혹은 이미 있는) 원소의 반복자와 중복을 확인한 성공 여부를 pair<set<T>::iterator, bool> 쌍으로 반환한다.
#include <iostream>
#include <set>
using namespace std;
void main()
{
set<string> st;
pair<set<string>::iterator, bool> reuslt = st.insert("LoL!!");
cout << *(reuslt.first) << " " << boolalpha << reuslt.second << endl;
reuslt = st.insert("LoL!!");
cout << *(reuslt.first) << " " << boolalpha << reuslt.second << endl;
}
출력
LoL!! true
LoL!! false
'자료구조 & 알고리즘 > 기타' 카테고리의 다른 글
내적 계산 (0) | 2023.04.02 |
---|---|
증가하는 시퀀스로 값 채우기 (0) | 2023.03.31 |
bool 변수는 레퍼런스 전달이 불가능하다. (0) | 2023.03.14 |
std::replace (0) | 2023.03.14 |
unique()를 활용한 연속된 값의 제거 (0) | 2023.03.04 |