교집합 : set_intersection
합집합 : set_union
차집합 : set_difference
집합을 수행할 두개의 컨테이너는 정렬이 되어있어야 한다.
정렬이 되어있지 않은 상태에서 수행시 Sequence not oredered 런타임 오류를 뱉는다.
두 집합의 결과를 저장할 컨테이너의 크기가 미리 확보되어 있어야 한다.
두 집합이 수행된 끝의 다음 iterator가 반환되는데 이걸로 남는 공간을 지워주면 된다.
auto iter = set_intersection(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());
v3.erase(iter, v3.end());
'C++ > 기타' 카테고리의 다른 글
[algorithm] find, find_if (0) | 2022.08.03 |
---|---|
[algorithm] 순열과 조합 (0) | 2022.07.31 |
map, set (0) | 2022.07.27 |
[algorithm] find (0) | 2022.07.27 |
[algorithm] unique (0) | 2022.07.27 |