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


五.总结:


相关推荐
Mr_Chenph11 分钟前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3
阿狸远翔12 分钟前
Protobuf 和 protoc-gen-go 详解
开发语言·后端·golang
永远前进不waiting12 分钟前
C复习——1
c语言·开发语言
长安er17 分钟前
LeetCode136/169/75/31/287 算法技巧题核心笔记
数据结构·算法·leetcode·链表·双指针
伯明翰java23 分钟前
Java数据类型与变量
java·开发语言
一路往蓝-Anbo24 分钟前
【第13期】中断机制详解 :从向量表到ISR
c语言·开发语言·stm32·单片机·嵌入式硬件
渣渣盟31 分钟前
Linux邮件服务器快速搭建指南
linux·服务器·开发语言
BD_Marathon1 小时前
Promise基础语法
开发语言·前端·javascript
_w_z_j_1 小时前
最小栈(栈)
数据结构
fufu03111 小时前
Linux环境下的C语言编程(四十八)
数据结构·算法·排序算法