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


五.总结:


相关推荐
mayaairi3 分钟前
JS BOM完全指南(二):事件轮询、三大尺寸家族与浏览器对象详解
开发语言·javascript·ecmascript
technology_x11 分钟前
液冷超充站设备厂家哪家好?2026年功率与散热对比
java·开发语言
SurpriseDPD15 分钟前
bpftrace‑tasks 工具代码分析
开发语言·python
千谦阙听30 分钟前
C++篇:类和对象(上)
开发语言·c++
许彰午1 小时前
07-SqlBuilder六法
java·开发语言·低代码·架构
LONGZETECH1 小时前
新能源汽车动力电池实训教学痛点与虚拟仿真技术解决方案
c语言·3d·unity·架构·汽车·汽车教学软件
BS30813_vx1 小时前
【编号:01652】Spring Boot村务管理系统:财务公开、党建活动与计生服务一体化实战
开发语言·python
Jul1en_1 小时前
【Java 脚手架】封装通用工具类-3
java·开发语言·redis·缓存·ai·bootstrap·rabbitmq
学习星球1 小时前
2026年AI Agent全栈开发实战——从Prompt到Production
开发语言·人工智能·prompt
_Narcissus_1 小时前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治