栈是一种**后进先出(LIFO)**的数据结构,常用于需要临时存储数据的场景,例如函数调用、表达式求值等。以下是核心概念与示例:
基本操作
- 压栈(Push):将元素添加到栈顶
📌 示例:stack.push("元素")
- 弹栈(Pop):移除栈顶元素
📌 示例:stack.pop()
- 查看栈顶(Peek):获取栈顶元素但不移除
📌 示例:stack.peek()
实际应用
- 浏览器历史记录:返回按钮实现基于栈原理
- 括号匹配:通过栈验证代码中的括号闭合是否正确
- 递归调用:函数调用栈管理程序执行流程
代码示例(JavaScript)
let stack = [];
stack.push("A"); // 栈: [A]
stack.push("B"); // 栈: [A, B]
console.log(stack.pop()); // 输出 B,栈: [A]
拓展学习
如需深入了解栈的实现与进阶用法,可参考:
栈的底层实现原理