2334. 栈的蛇皮操作
1000ms
256MB
简单
栈
题目描述
栈(Stack)是一种重要的数据结构,它遵循“后进先出”(Last In First Out, LIFO)的原则。
现在请你模拟以下操作:
1. 输入 5 个整数,并将它们依次进行**入栈**(Push)操作。
2. 连续进行 3 次**出栈**(Pop)操作,并按照出栈的顺序输出这些元素。
3. 以上操作完成后,输出此时的**栈顶**(Top)元素。
输入格式
一行,包含 5 个整数,用空格隔开。
输出格式
输出共两行:
- 第一行:3 个出栈元素,按出栈顺序输出,用空格隔开。
- 第二行:完成出栈操作后的栈顶元素。
样例 1
输入 (Input)
4 9 12 6 7
输出 (Output)
7 6 12 9
- $1 \le \text{整数} \le 1000$。
- **算法提示**:
在 C++ 中,你可以使用标准模板库(STL)中的 `std::stack` 容器来轻松实现:
- `s.push(x)`:将元素 $x$ 入栈。
- `s.pop()`:弹出栈顶元素(注意该函数不返回元素值)。
- `s.top()`:获取栈顶元素的值。
- **过程解析**:
输入 `4 9 12 6 7` 后,栈内从底到顶为 `{4, 9, 12, 6, 7}`。
- 第一次出栈:弹出 `7`,栈变为 `{4, 9, 12, 6}`。
- 第二次出栈:弹出 `6`,栈变为 `{4, 9, 12}`。
- 第三次出栈:弹出 `12`,栈变为 `{4, 9}`。
- 此时栈顶元素为 `9`。
› 输入 stdin
CtrlShiftEnter
‹ 输出 stdout
错误 stderr
操作成功