不知道栈有什么用 栈有什么用

前言

不知道栈有什么用 栈有什么用

文章插图
不知道栈有什么用 栈有什么用

文章插图
不知道栈有什么用 栈有什么用

文章插图
概念介绍
  • 栈(stack)是限定仅在表尾(即栈顶)进行插入和删除操作的线性表
  • 栈的2种操作方式
    • 插入操作,叫做进栈,也叫压栈、入栈
    • 删除操作,叫做出栈,也叫弹栈
  • 栈的2种存储方式
    • 顺序存储
    • 链式存储
原理讲解
  • 当栈中只有9和12这2个元素时,效果如下图

不知道栈有什么用 栈有什么用

文章插图
【不知道栈有什么用 栈有什么用】进栈操作
  • 我们插入一个元素20,效果如下图

不知道栈有什么用 栈有什么用

文章插图
出栈操作
  • 对于栈来说,出栈只能将栈顶元素删除 。因此,执行一次出栈动作,就会删除掉栈顶元素20,效果如下图

不知道栈有什么用 栈有什么用

文章插图
至此,栈的实现原理讲解完毕
栈的优缺点
  • 优点
    • 快速访问
    • 自动管理,不需要程序员管理
    • 空间被CPU高效管理,内存不会变成碎片
  • 缺点
    • 只有局部变量
    • 受限于栈的大小(取决于操作系统)
    • 变量不能调整大小
栈的作用
  • 保存程序运行现场/上下文
  • 递归操作
  • 保存临时变量
效果展示

不知道栈有什么用 栈有什么用

文章插图