C++ 数组:判断集合是否相等
发布时间
阅读量:
阅读量
这道题实际上要求运用数组来解答问题。但是考虑到使用集合更为方便快捷,也就是说,在这种情况下采用了基于集合的处理方式或方法论。
【题目描述】
给定两个集合A和B,判断他们是否相等。(集合元素可能需要去重) 。
如果两个集合相等,则输出"yes",否则输出"no"
【输入格式】
分别列出两个集合 A 和 B 的元素;每一块中首先输入一个整数 n 表示该块数据的数量;然后依次输入 n 个数值来描述该集合中的各个元素
【输出格式】
按要求输出 "yes" 或 "no" (不带引号)
【输入样例】
4 1 2 3 4
4 4 3 2 1
【输出样例】
yes
【样例解释】
第一个集合里不重复的元素为{1,2,3,4},第二个集合也为{1,2,3,4},故两个集合相等
#include<iostream>
#include<set> //使用set需要引入头文件
using namespace std;
int main()
{
set<int> a; //int类型的集合a,b
set<int> b;
int n1,n2;//集合大小
//输入要比较的集合
cin>>n1;
for(int i = 0; i < n1; i++)
{
int k;
cin>>k;
a.insert(k);//向集合a中插入整数k
}
cin>>n2;
for(int i = 0; i < n2; i++)
{
int k;
cin>>k;
b.insert(k);
}
//判断两个集合是否相等
if(a==b) cout<<"yes"<<endl;
else cout<<"no"<<endl;
return 0;
}

关于容器set的详细用法,附一个链接,感兴趣可以查看。(别人写的,很详细)
C++中 set(集合容器)的用法
set的主要特性
基本用法介绍
实际应用示例
注意事项
全部评论 (0)
还没有任何评论哟~
