![算法训练营:提高篇(全彩版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/130/52921130/b_52921130.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
训练1 集合合并
题目描述(HDU1412):给定两个集合A、B,求A+B(在同一个集合中不会有两个相同的元素)。
输入:每组输入数据均被分为三行。第1行为两个整数n和m(0<n,m≤10 000),分别表示集合A和集合B中的元素数量;后两行分别表示集合A和集合B中的元素(不超出int类型范围的整数),元素之间以一个空格隔开。
输出:单行输出合并后的集合,要求从小到大输出,元素之间以一个空格隔开。
![](https://epubservercos.yuewen.com/AE123A/31457654304331706/epubprivate/OEBPS/Images/txt001_37.jpg?sign=1739155848-JSljuvIfBpySaHpFPiM15TBveW8We1uJ-0-fa03c239f9bb47efa62ea807ba1e8d7a)
1.算法设计
本题是两个集合的合并问题,集合不允许元素重复,且要求输出时有序。集合中的每个键都是唯一的,不允许重复,因此可以用set解决该问题,具体如下。
(1)定义一个集合ans,记录两个集合的合并结果。
(2)将第1个集合中的元素插入ans。
(3)将第2个集合中的元素插入ans。
(4)按序输出集合中的元素。
2.算法实现
![](https://epubservercos.yuewen.com/AE123A/31457654304331706/epubprivate/OEBPS/Images/txt001_38.jpg?sign=1739155848-hrSY2L7SATH1vCzQcdFR7MUPlqIUQlcw-0-2fff67307a66c86ed5648b5b8f6945c4)
![](https://epubservercos.yuewen.com/AE123A/31457654304331706/epubprivate/OEBPS/Images/txt001_39.jpg?sign=1739155848-0nnPqqs6JeCUBrupogJHPyir1hKIeJnD-0-db754e9909094741b2f153b4eb4b1df2)