Advertisement

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;
    
 } 
    
    
    
    
    
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-08-18/V30ZCMdx4gk9OEvzhoatALn5mDRi.png)

关于容器set的详细用法,附一个链接,感兴趣可以查看。(别人写的,很详细)

C++中 set(集合容器)的用法

set的主要特性

基本用法介绍

实际应用示例

注意事项

全部评论 (0)

还没有任何评论哟~