HM253 有序归并
HM253 有序归并
来源: 第 253 集 常用排序算法-merge
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
merge 把**两个有序容器**里的元素合并,写入第三个容器,合并后仍然有序。五个参数依次是:第一段的起始与结束迭代器、第二段的起始与结束迭代器、目标容器的起始迭代器。算法在算法头文件中。
注意:
- 两个原容器都必须已经有序,而且**方向一致**(都升序,或都降序)。一个升序、一个降序不能合并出正确结果。
- 目标容器一开始若是空的,不能硬往里塞,程序会崩溃。必须先按两段长度之和
resize,提前分配空间。
先把两段输入各自排成升序(保证方向一致),再按上述规则合并并输出目标容器。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
第三行一个整数 \(m\)。
第四行 \(m\) 个整数。当 \(m=0\) 时本行可以是空行。
输出格式
一行,合并后的升序序列,元素之间单个空格,行末换行。空序列输出空行。
样例
输入 #1
10
0 1 2 3 4 5 6 7 8 9
10
1 2 3 4 5 6 7 8 9 10
输出 #1
0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10
输入 #2
0
3
3 1 2
输出 #2
1 2 3
说明
\(0 \le n,m \le 1000\),元素绝对值不超过 \(10^9\)。
样例 #1 两段都已升序,目标容量为 \(20\),合并后仍升序且保留重复值。样例 #2 第一段为空,第二段先排序再合并。
信息
- ID
- 1252
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者