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