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


五.总结:


相关推荐
你住过的屋檐6 分钟前
【Java】虚拟线程详解
java·开发语言
霍理迪7 分钟前
JS—事件高级
开发语言·javascript·ecmascript
岛雨QA8 分钟前
排序算法「Java数据结构与算法学习笔记6」
数据结构·算法
范特西.i10 分钟前
QT聊天项目(8)
开发语言·qt
烟花落o11 分钟前
栈和队列的知识点及代码
开发语言·数据结构·笔记·栈和队列·编程学习
crescent_悦17 分钟前
C++:Have Fun with Numbers
开发语言·c++
mjhcsp20 分钟前
C++轮廓线 DP:从原理到实战的深度解析
开发语言·c++·动态规划
古译汉书21 分钟前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Z9fish22 分钟前
sse哈工大C语言编程练习23
c语言·数据结构·算法
ArturiaZ23 分钟前
【day36】
数据结构·c++·算法