HM243 双轨遍历

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
通过率
?
上传者