可视化栈操作

前言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

概念介绍

  • 栈(stack)是限定仅在表尾(即栈顶)进行插入和删除操作的线性表
  • 栈的2种操作方式
    • 插入操作,叫做进栈,也叫压栈、入栈
    • 删除操作,叫做出栈,也叫弹栈
  • 栈的2种存储方式
    • 顺序存储
    • 链式存储

原理讲解

  • 当栈中只有9和12这2个元素时,效果如下图
    在这里插入图片描述

进栈操作

  • 我们插入一个元素20,效果如下图
    在这里插入图片描述

出栈操作

  • 对于栈来说,出栈只能将栈顶元素删除。因此,执行一次出栈动作,就会删除掉栈顶元素20,效果如下图
    在这里插入图片描述

至此,栈的实现原理讲解完毕


栈的优缺点

  • 优点
    • 快速访问
    • 自动管理,不需要程序员管理
    • 空间被CPU高效管理,内存不会变成碎片
  • 缺点
    • 只有局部变量
    • 受限于栈的大小(取决于操作系统)
    • 变量不能调整大小

栈的作用

  • 保存现场/上下文
  • 保存临时变量

效果展示

在这里插入图片描述

更多算法学习请关注我的公众号

在这里插入图片描述

说明

  • 在公众号中回复“算法源码”即可获取十大经典算法源码
  • 在公众号中回复“算法书籍”即可获取经典入门算法书籍
  • 在公众号中回复“数据结构”即可获取数据结构相关源码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值