HM243 双轨遍历
HM243 双轨遍历
来源: 第 243 集 常用遍历算法-for_each
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
常用算法大多在头文件 algorithm 里,它是 STL 里最大的算法头文件,比较、交换、查找、遍历、复制、修改都在这里。numeric 里是小型算法。functional 里是内建函数对象(算术、关系、逻辑)。
遍历算法有两个:for_each 用来遍历容器;transform 遍历时还能搬到另一容器。for_each 要三个参数:起始迭代器、结束迭代器,以及一个**普通函数或仿函数**。底层就是 for 循环:迭代器从 begin 走到 end,解引用后交给回调。
注意放参方式:普通函数放**函数名**;仿函数必须放**函数对象**,类名后面要加一对括号(匿名对象)。实际开发里 for_each 是最常用的遍历,一行就能代替手写迭代器循环。
读入 \(n\) 个整数。先用 for_each 配普通函数输出一行,再用 for_each 配仿函数输出一行,两行内容相同。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
输出格式
两行,每行 \(n\) 个整数,元素之间一个空格,行末换行。\(n=0\) 时两行都是空行。
样例
输入 #1
10
0 1 2 3 4 5 6 7 8 9
输出 #1
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
输入 #2
3
8 2 5
输出 #2
8 2 5
8 2 5
说明
\(0 \le n \le 1000\),元素绝对值不超过 \(10^9\)。
必须用 for_each 各走一遍:一次传普通函数名,一次传仿函数对象。不要只写一层手写循环冒充两种遍历。
信息
- ID
- 1242
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者