栈的图文解析

本文所说的栈是数据结构中的栈,而不是内存模型中栈。

栈(stack),是一种线性存储结构,它有以下几个特点:

  1. 栈中数据是按照"后进先出(LIFO, Last In First Out)"方式进出栈的。
  2. 向栈中添加/删除数据时,只能从栈顶进行操作。

栈通常包括的三种操作:push、peek、pop。

  • push -- 向栈中添加元素。
  • peek -- 返回栈顶元素。
  • pop -- 返回并删除栈顶元素的操作。
栈的示意图

栈中的数据依次是 30 --> 20 --> 10

出栈
出栈

出栈前:栈顶元素是30。此时,栈中的元素依次是 30 --> 20 --> 10
出栈后:30出栈之后,栈顶元素变成20。此时,栈中的元素依次是 20 --> 10

入栈
入栈

入栈前:栈顶元素是20。此时,栈中的元素依次是 20 --> 10
入栈后:40入栈之后,栈顶元素变成40。此时,栈中的元素依次是 40 --> 20 --> 10

出处http://www.cnblogs.com/skywang12345/p/3562239.html

栈和数组、链表都属于线性存储结构
这边有位大佬整理得十分清晰,可供大家参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。