HM045 首尾对调

HM045 首尾对调

HM045 首尾对调

来源: 第 45 集 数组-一维数组案例-元素逆置

难度: 入门

时间限制: 1s

空间限制: 64MB

题目描述

把数组里的元素**逆置**,就是把首尾两格对调:原来的第一个跑到最后,第二个跑到倒数第二,中间那一格(奇数长度时)留在原地。例如 \(1\ 3\ 2\ 5\ 4\) 逆置后变成 \(4\ 5\ 2\ 3\ 1\)。

做法分三步:先创建数组,再原地逆置,最后打印逆置后的结果。

逆置时先记下起始下标 \(start=0\),以及末尾下标 \(end\)。末尾下标等于**元素个数减 \(1\)**,不要把 \(4\) 写死,换成长度为 \(7\) 或 \(10\) 的数组时才仍然正确。

两个格子互换时,不能直接把末尾值盖到开头,否则开头那个数就丢了。应当先用临时变量 tmp 保住其中一个,再完成另外两次赋值。互换之后 \(start\) 加一、\(end\) 减一,继续对下一对首尾做同样的事。循环条件是 \(start < end\):一旦 \(start\) 已经大于或等于 \(end\),就不必再换。

读入数组,按上述首尾互换完成逆置,再从下标 \(0\) 起输出。

输入格式

第一行一个整数 \(n\)(\(1 \le n \le 100\))。

第二行 \(n\) 个整数,绝对值不超过 \(10^9\)。

输出格式

一行 \(n\) 个整数,表示逆置后的数组,相邻整数之间恰好一个空格,行末换行。

样例

输入 #1

5
1 3 2 5 4

输出 #1

4 5 2 3 1

输入 #2

4
9 8 7 6

输出 #2

6 7 8 9

说明

样例 1:先换下标 \(0\) 与 \(4\),再换 \(1\) 与 \(3\),此时 \(start=2\)、\(end=2\),停止。中间的 \(2\) 不动。样例 2 长度为偶数,两两对调后即可。\(n=1\) 时 \(start\) 并不小于 \(end\),数组保持原样。

信息

ID
1044
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者