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


五.总结:


相关推荐
Aurorar0rua11 分钟前
CS50 x 2024 Notes Data structures - 08
c语言·开发语言·学习方法
企业数字化笔记16 分钟前
新租户注册成功却不能用?开通状态、初始化恢复与可用性验收
开发语言·python
瑶山19 分钟前
Windows + WSL2 Ubuntu + VS Code配置C++开发环境
开发语言·c++·windows·vscode·wsl
Vertira28 分钟前
C# 函数封装成 DLL,
开发语言·c#
开开心心就好32 分钟前
一元二次方程求解工具,答案带详细步骤
java·服务器·开发语言·算法·pdf·ocr·perl
cc57250265333 分钟前
2027校招:大数据管理与应用专业做数据治理,技术之外还要准备什么?
java·开发语言
小米里的大麦40 分钟前
19 C、C++ 操作 MySQL
c语言·c++·mysql
青春逝如流水1 小时前
Java 线程池的创建方式、注意要点与任务类型判断
java·开发语言·线程池·多线程·ai文章
徐小黑ACG1 小时前
Golang goroutine、通道、锁
开发语言·后端·golang
开开心心_Every1 小时前
内存清理工具定时自动清理开机自启动
java·开发语言·spring·计算机外设·ocr·intellij-idea·excel