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


五.总结:


相关推荐
_poplar_5 分钟前
08.5【C++ 初阶】实现一个相对完整的日期类--附带源码
c语言·开发语言·数据结构·c++·vscode·算法·vim
意疏33 分钟前
探秘C语言:数据在内存中的存储机制详解
c语言·开发语言
汤永红1 小时前
week2-[一维数组]最大元素
数据结构·c++·算法·信睡奥赛
anlogic10 小时前
Java基础 8.18
java·开发语言
胡萝卜3.010 小时前
数据结构初阶:排序算法(一)插入排序、选择排序
数据结构·笔记·学习·算法·排序算法·学习方法
lyx331369675910 小时前
Pandas数据结构详解Series与DataFrame
数据结构·pandas
沐知全栈开发10 小时前
WebForms XML 文件详解
开发语言
阿巴~阿巴~11 小时前
冒泡排序算法
c语言·开发语言·算法·排序算法
散11211 小时前
01数据结构-交换排序
数据结构·算法
看到我,请让我去学习12 小时前
QT - QT开发进阶合集
开发语言·qt