数据结构-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的先后顺序


五.总结:


相关推荐
牛奔8 小时前
Go 如何打印调试深层或嵌套的结构体
开发语言·后端·golang
不会就选b8 小时前
算法日常・每日刷题--<链表>3
数据结构·算法·链表
2601_951644328 小时前
C语言二级备考指南
c语言·编程基础·编译环境·二级考试·题库选择
geovindu8 小时前
go: Iterative Algorithms
开发语言·后端·算法·golang·迭代算法
学逆向的8 小时前
汇编——JCC指令
开发语言·汇编·网络安全
mayaairi9 小时前
JS循环语句深度解析:嵌套for、while与do...while
开发语言·前端·javascript
kite012110 小时前
Go语言Map深度解析与最佳实践
开发语言·后端·golang
稚南城才子,乌衣巷风流10 小时前
块状链表:数据结构详解与实现
数据结构·链表
l1564694811 小时前
突围!图文混合知识库难以解析,Kimi-K3 原生视觉架构深耕知识工作,DMXAPI 统一接口,缩短项目开发周期
java·大数据·开发语言
charlie11451419112 小时前
现代C++工程实践 WeakPtr 实战(三):WeakPtrFactory 与「最后成员」惯用法
开发语言·c++·开源项目·现代c++