栈数据结构

栈也是一种数据呈线性排列的数据结构,不过在这种结构中,我们只能访问最新添加的数据。

  • 栈的概念图。现在存储在栈中的只有数据 Blue。


    image.png
  • 然后,栈中添加了数据 Green。


    image.png
  • 接下来,数据 Red入栈。


    image.png
  • 出栈:从栈中取出数据时,是从最上面,也就是最新的数据开始取出的。这里取出的是 Red。


    image.png
  • 出栈:如果再进行一次出栈操作,取出的就是Green了。


    image.png

像栈这种最后添加的数据最先被取出,即“后进先出” 的结构,我们称为 Last InFirst Out,简称 LIFO。
与链表和数组一样,栈的数据也是线性排列,但在栈中,添加和删除数据的操作只能在一端进行,访问数据也只能访问到顶端的数据。想要访问中间的数据时,就必须通过出栈操作将目标数据移到栈顶才行。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 栈是一种遵从后进先出(LIFO)原则的有序集合。新添加或待删除的元素都保存在栈的同一端,称作栈顶,另一端就叫栈底。...
    感觉不错哦阅读 444评论 0 1
  • 申明:本文是js系列笔记之一,有不正确的地方请尽管指出,大家相互学习,共同进步; 首先在阅读本文之前,默认你已经知...
    Beauty_Beast阅读 588评论 0 1
  • 首先,抛出一个问题,如何使用栈来完成浏览器的前进后退功能??? 如何理解"栈"???关于栈,有一个非常贴切的例子,...
    初心myp阅读 847评论 0 0
  • 数组也是数据呈线性排列的一种数据结构。与链表不同,在数组中,访问数据十分简单,而添加和删除数据比较耗工夫。 数组的...
    程序小白菜阅读 216评论 0 1
  • 今天阅读的故事是《猜猜我有多爱你》 小兔子和他妈妈比谁爱谁多一些,从互相比手臂长短,比身高高矮……谁长就是谁有多爱...
    刘育栋mami阅读 195评论 0 0

友情链接更多精彩内容