교집합 : 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

+ Recent posts