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


五.总结:


相关推荐
努力学习的小廉5 分钟前
【C++11(上)】—— 我与C++的不解之缘(三十)
java·开发语言·c++
霍珵蕴9 分钟前
Kotlin语言的软件工程
开发语言·后端·golang
nlog3n10 分钟前
Java观察者模式详解
java·开发语言·观察者模式
Hoxy.R13 分钟前
什么是 CSSD?
服务器·开发语言·oracle
无名之逆28 分钟前
Hyperlane:高性能 Rust HTTP 服务器框架评测
服务器·开发语言·windows·后端·http·rust
星星火柴93640 分钟前
数据结构:链表 (C++实现)
数据结构·c++·笔记·链表
跨境卫士-小汪41 分钟前
关税核爆72小时!跨境矩阵防御战紧急打响
开发语言·php
在努力的韩小豪1 小时前
B树和B+树的区别(B Tree & B+ Tree)
数据结构·数据库·b树·b+树·索引·数据库索引
褚翾澜1 小时前
Bash语言的社区交流
开发语言·后端·golang
独好紫罗兰1 小时前
洛谷题单3-P4956 [COCI 2017 2018 #6] Davor-python-流程图重构
开发语言·python·算法