栈是一种**后进先出(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]

拓展学习

如需深入了解栈的实现与进阶用法,可参考:
栈的底层实现原理

栈数据结构示意图