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


五.总结:


相关推荐
茉莉玫瑰花茶26 分钟前
GO [ 方法 ]
开发语言·后端·golang
今晚打老虎1 小时前
c++之提高A(前缀和)(第三课)
数据结构·c++·算法
狗凯之家源码网1 小时前
微博图床 PHP 系统搭建与实战应用指南
android·开发语言·php
不会就选b2 小时前
算法日常・每日刷题--<贪心>26
数据结构·算法
乌暮2 小时前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
2601_962218613 小时前
C语言中三种库的编译和使用方法
开发语言·c++
铅笔小新z3 小时前
【C语言】操作符
c语言
传奇开心果编程3 小时前
中庸、有容、破执:仓颉编程语言的中华智慧结晶——三重哲学境界思辨
开发语言·华为·开源·软件工程
jimy13 小时前
派生类重写基类虚函数(二):override的作用
开发语言·c++
_upupup4 小时前
异常(C++)
java·开发语言·jvm