数据结构-3.1.栈的基本概念


一.栈的定义:

栈和线性表的区别:栈只能在表尾一端 进行插入或者删除的操作,而线性表可以在任意一个地方进行插入或者删除


二.有关栈的关键术语:


三.栈的基本操作:

1.回顾线性表的基本操作:

2.栈的基本操作:

对于删除栈里的元素,每次要删除栈里的元素时,必须把该元素上方的元素都出栈了才能删除,此时相当于删除栈顶元素。


四.已知进栈顺序,判断哪些出栈的顺序合法:

例如:

方案一:a,b,c,d,e依次进栈后,再依次出栈,顺序依次为e,d,c,b,a

方案二:进栈和出栈穿插的进行

a,b依次进栈,先只让b出栈,此时只剩下a,再依次进入c,d,e,最后都出栈即e,d,c,a

所以出栈顺序为b,e,d,c,a。

注意:无论进栈和出栈是否穿插进行,进栈都是按照a,b,c,d,e的先后顺序


五.总结:


相关推荐
我是人✓5 分钟前
SpringMVC异常处理与拦截器实战揭秘
java·开发语言·后端
听风若依7 分钟前
函数栈帧的创建与销毁-重置版
c语言·学习
不是万能的豆学长15 分钟前
排查Go服务40天后的内存泄漏问题
开发语言·后端·golang·go
码匠许师傅18 分钟前
【C++三方组件】libpqxx:PostgreSQL 的 C++ 客户端
开发语言·c++·postgresql
H.莓飛29 分钟前
【C++】内存管理
linux·开发语言·jvm·c++·visual studio
tachibana232 分钟前
Go 语言 Map 的底层实现原理
开发语言·后端·golang·make
水饺编程40 分钟前
第2章:Linux 基础,pwd 命令
linux·c语言·汇编
鱼很腾apoc42 分钟前
【MySQL】 第1期 从核心概念到表约束全解析
linux·c语言·数据库·学习·mysql
心仪久了会沦陷1 小时前
C语言数据结构入门——队列补充:循环队列的数组实现
c语言·开发语言·数据结构·笔记
源图客1 小时前
Python环境安装与PyCharm的第一个项目
开发语言·python·pycharm