在 C++ 中,std::set 是一个关联容器,它存储唯一的元素,并且元素会自动按键排序。要对两个 std::set 进行集合比较,你可以使用 C++ 标准库中的 <algorithm> 头文件提供的 std::equal 函数。
下面是一个简单的示例,展示了如何使用 std::equal 函数比较两个 std::set:
#include <iostream>
#include <set>
#include <algorithm>
int main() {
std::set<int> set1 = {1, 2, 3, 4, 5};
std::set<int> set2 = {1, 2, 3, 4, 5};
std::set<int> set3 = {1, 2, 3, 6, 7};
bool isEqual1 = std::equal(set1.begin(), set1.end(), set2.begin());
bool isEqual2 = std::equal(set1.begin(), set1.end(), set3.begin());
std::cout << "set1 and set2 are " << (isEqual1 ? "equal" : "not equal") << std::endl;
std::cout << "set1 and set3 are " << (isEqual2 ? "equal" : "not equal") << std::endl;
return 0;
}
在这个示例中,我们创建了三个 std::set 对象:set1、set2 和 set3。然后,我们使用 std::equal 函数比较 set1 和 set2,以及 set1 和 set3。std::equal 函数接受两个迭代器范围(在这里是 set1 和 set2 或 set1 和 set3 的开始和结束迭代器)以及一个源范围的开始迭代器。如果两个范围内的元素相等且顺序相同,std::equal 将返回 true,否则返回 false。
输出结果将是:
set1 and set2 are equal
set1 and set3 are not equal
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1201407.html