给定一个初始为空的栈,依次执行以下操作:push(1),push(2),push(3),pop(),push(4),pop(),pop()。此时栈顶的元素是什么,如果栈为空则答案为'空'?
答案解析
核心考点说明:本题考察栈的基本操作(push和pop)及其执行顺序,重点理解栈的后进先出(LIFO)特性。难点在于模拟整个操作过程并确定栈顶元素。
解题思路分析:按照操作顺序逐步模拟栈的变化:
1. push(1): 栈变为 |1|
2. push(2): 栈变为 |1|2|
3. push(3): 栈变为 |1|2|3|
4. pop(): 栈变为 |1|2|,弹出元素为3
5. push(4): 栈变为 |1|2|4|
6. pop(): 栈变为 |1|2|,弹出元素为4
7. pop(): 栈变为 |1|,弹出元素为2
此时栈顶元素为1。
选项分析:
A. 正确。按照栈操作过程模拟后,栈顶元素为1。
B. 错误。栈顶元素为1,不是2。
C. 错误。元素4已经被弹出。
D. 错误。栈不为空。
易错点提醒:容易搞错栈的后进先出顺序,导致操作过程模拟错误。务必严格按照操作顺序和栈的特性进行。
正确答案的关键依据:模拟栈的操作过程并得到最终栈顶元素。
正确答案:A