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


五.总结:


相关推荐
kimnoic1 小时前
Python常见模块及其用法示例详解
开发语言·python
程序员-Benothing1 小时前
Linux文本排序统计命令:sort、uniq、wc、cut、tr实战
java·开发语言·算法
CRMEB1 小时前
前后端技术栈全面换代!CRMEB 多商户(Java)v3.0更新预告
java·开发语言
JQLvopkk1 小时前
HslCommunication,一个工具测遍所有 PLC
开发语言·人工智能·c#·交互
ao-weilai1 小时前
MySQL数据库:C语言连接MySQL教程
c语言·数据库·mysql
阿狗童鞋1 小时前
Python爬虫进阶实战指南
开发语言·爬虫·python
下页、再停留1 小时前
【C#桌面客户端系列学习-7】数据查询展示
开发语言·c#·visual studio
皓月盈江2 小时前
Go读写TXT文件
开发语言·后端·golang·go·读写txt文件·bufio·go读写txt
qq_401700412 小时前
Qt Signal Mapper:一堆按钮,怎么共用一个槽函数
开发语言·qt
蜗牛互联网2 小时前
Java HttpClient 调用 Gemini 图像理解与金额字段校验
java·开发语言·人工智能·后端·python