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


五.总结:


相关推荐
要开心吖ZSH3 分钟前
Java事务与MySQL事务的关系及MVCC通俗解析
java·开发语言·mysql·mvcc
东华万里14 分钟前
第31篇 数据结构入门:顺序表
数据结构·大学生专区
寻道码路20 分钟前
LangChain4j Java AI 应用开发实战(二十六):多模型集成策略 —— OpenAI、DeepSeek、阿里百炼混合使用
java·开发语言·人工智能·ai
面朝大海,春不暖,花不开25 分钟前
BPF与eBPF简介:核心概念与观测工具概览
开发语言·php·ebpf·bpf·性能观测
ch.ju26 分钟前
Java Programming Chapter 4——Static code block
java·开发语言
弹简特29 分钟前
【Java项目-企悦抽】04-项目演示+项目源码+AI赋能整理接口文档
java·开发语言
郝学胜-神的一滴30 分钟前
Qt 高级编程 034:深耕QWidget底层内核—彻底吃透无边框窗口设计核心原理
开发语言·c++·qt·程序人生·软件开发·用户界面
不会写代码的ys40 分钟前
C++复习篇
java·开发语言·c++
雨师@1 小时前
go语言项目--实例化(图书管理)--005
开发语言·后端·golang
Aspiresky1 小时前
探索Rust语言之引用
开发语言·后端·rust