不知道栈有什么用?可视化动图带你一步步讲解

栏目: IT技术 · 发布时间: 5年前

内容简介:当栈中只有9和12这2个元素时,效果如下图我们插入一个元素20,效果如下图对于栈来说,出栈只能将栈顶元素删除。因此,执行一次出栈动作,就会删除掉栈顶元素20,效果如下图

前言

不知道栈有什么用?可视化动图带你一步步讲解
不知道栈有什么用?可视化动图带你一步步讲解
不知道栈有什么用?可视化动图带你一步步讲解

概念介绍

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

原理讲解

当栈中只有9和12这2个元素时,效果如下图

不知道栈有什么用?可视化动图带你一步步讲解

进栈操作

我们插入一个元素20,效果如下图

不知道栈有什么用?可视化动图带你一步步讲解

出栈操作

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

不知道栈有什么用?可视化动图带你一步步讲解

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

栈的优缺点

优点

  • 快速访问
  • 自动管理,不需要 程序员 管理
  • 空间被CPU高效管理,内存不会变成碎片

缺点

  • 只有局部变量
  • 受限于栈的大小(取决于操作系统)
  • 变量不能调整大小

栈的作用

  • 保存程序运行现场/上下文
  • 递归操作
  • 保存临时变量

效果展示

不知道栈有什么用?可视化动图带你一步步讲解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

挑战编程

挑战编程

斯基纳 / 刘汝佳 / 2009-7 / 39.00元

《挑战编程:程序设计竞赛训练手册》分为14章,分别介绍在线评测系统的基本使用方法、数据结构、字符串、排序、算术与代数、组合数学、数论、回溯法、图遍历、图算法、动态规划、网格、几何,以及计算几何,并在附录中介绍了一些著名的程序设计竞赛以及相应的备赛建议与比赛技巧。每章的正文用十余页的篇幅覆盖了该领域最核心的概念和算法,然后给出八道可在线提交的完整编程挑战题目供读者练习。 全书内容紧凑、信息量大......一起来看看 《挑战编程》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具