第一次用STL中的set
Posted 5210ly
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次用STL中的set相关的知识,希望对你有一定的参考价值。
给你两个集合,要求{A} + {B}.
注:同一个集合中不会有两个相同的元素.
注:同一个集合中不会有两个相同的元素.
Input每组输入数据分为三行,第一行有两个数字n,m(0<n,m<=10000),分别表示集合A和集合B的元素个数.后两行分别表示集合A和集合B.每个元素为不超出int范围的整数,每个元素之间有一个空格隔开.Output针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开.Sample Input
1 2 1 2 3 1 2 1 1 2
Sample Output
1 2 3 1 2
代码:
#include<stdio.h> #include<set> using namespace std; int main() { int i,n,m,j; while(~scanf("%d %d",&n,&m)) { set<int>s; for(i=1;i<=n;i++) { scanf("%d",&j); s.insert(j); } for(i=1;i<=m;i++) { scanf("%d",&j); s.insert(j); } set<int>::iterator it; set<int>::iterator it1; it1=s.end(); it1--; for(it=s.begin();it!=it1;it++) { printf("%d ",*it); } printf("%d ",*it); } return 0; }
刚接触STL,也是第一次使用set,代码是在网上借的别人的,set关联式容器,set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。
以上是关于第一次用STL中的set的主要内容,如果未能解决你的问题,请参考以下文章
STL详解(十三)—— 用一个哈希表同时封装出unordered_map和unordered_set