
DsSet::diff 함수는 두 개의 DsSet 객체 간의 차이 집합을 반환하는 함수입니다. 두 집합의 원소가 모두 정렬되어 있는 경우에만 정확한 결과를 반환합니다. 그렇지 않은 경우, 원소의 순서가 무시되고, 중복된 원소는 하나만 포함됩니다.
두 집합의 원소가 정렬되어 있지 않은 경우, 원소의 순서를 유지하기 위해 DsSet::diff 함수를 사용하기 전에 원소들을 정렬한 후에 사용할 수 있습니다. 예를 들어, std::sort 함수를 사용하여 원소들을 정렬한 후에 DsSet::diff 함수를 사용할 수 있습니다.
#hostingforum.kr
cpp
#include
#include
// 두 집합의 차이 집합을 반환하는 함수
std::set diff(const std::set& set1, const std::set& set2) {
std::set result;
for (const auto& element : set1) {
if (set2.find(element) == set2.end()) {
result.insert(element);
}
}
return result;
}
// 두 집합의 원소가 정렬되어 있지 않은 경우, 원소의 순서를 유지하기 위해 정렬한 후에 DsSet::diff 함수를 사용하는 예제
int main() {
std::set set1 = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
std::set set2 = {1, 3, 4, 9, 0, 7, 5};
// 원소들을 정렬한 후에 DsSet::diff 함수를 사용
std::sort(set1.begin(), set1.end());
std::sort(set2.begin(), set2.end());
std::set diffSet = diff(set1, set2);
// 결과를 출력
std::cout << "두 집합의 차이 집합: ";
for (const auto& element : diffSet) {
std::cout << element << " ";
}
std::cout << std::endl;
return 0;
}
이 예제에서는 두 집합의 원소가 정렬되어 있지 않은 경우, 원소의 순서를 유지하기 위해 정렬한 후에 DsSet::diff 함수를 사용하여 두 집합의 차이 집합을 반환합니다.
2025-04-12 11:04