数据结构-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 分钟前
SAP-ABAP:SELECT大数据量查询性能调优——避免嵌套循环、减少数据库交互的核心方案
开发语言·数据库·sql·性能优化·sap·abap·erp
Dxy12393102168 分钟前
Python 实现POST上行压缩上传可用HTTP库汇总
开发语言·python·http
郝学胜-神的一滴19 分钟前
Python 高级编程 026:序列内核深剖
开发语言·python·程序人生·软件工程
xiaotianyuanma21 分钟前
【计算机毕业设计】基于java web的社区养老服务管理系统设计与实现
java·开发语言·课程设计
Wang's Blog28 分钟前
Go-Zero项目开发39: 熔断、限流与降级的高可用实践
开发语言·后端·golang·go-zero
青山木34 分钟前
Hot 100 --- 电话号码的字母组合
java·数据结构·算法·leetcode·逻辑回归
Alan_69134 分钟前
第三方API对接的通用封装模式
服务器·开发语言·php
霸道流氓气质38 分钟前
Java中集成Weka 技术教程:从入门到工程实践
java·开发语言·数据挖掘
闪电悠米1 小时前
力扣hot100-240.搜索二维矩阵2-单调性剪枝详解
数据结构·算法·leetcode·矩阵·哈希算法