当前位置: 首页 > news >正文

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


五.总结:


http://www.lryc.cn/news/447076.html

相关文章:

  • 关于 NLP 应用方向与深度训练的核心流程
  • linux如何启用ipv6随机地址
  • 探索 Android DataBinding:实现数据与视图的完美融合
  • Java 编码系列:线程基础与最佳实践
  • 《深度学习》—— ResNet 残差神经网络
  • 针对考研的C语言学习(定制化快速掌握重点3)
  • pikachu XXE(XML外部实体注入)通关
  • shell脚本定时任务通知到钉钉
  • 2.4K star的GOT-OCR2.0:端到端OCR 模型
  • 【JavaEE】——线程的安全问题和解决方式
  • 初步认识了解分布式系统
  • react 为什么不能学习 vue3 进行静态节点标记优化性能?
  • Elasticsearch黑窗口启动乱码问题解决方案
  • Logtus IT员工参加国际技术大会
  • ant design vue组件中table组件设置分组头部和固定总结栏
  • 2024年信息安全企业CRM选型与应用研究报告
  • 【后端开发】JavaEE初阶——计算机是如何工作的???
  • Linux(Ubuntu)源码安装postgresql16.3
  • Python 入门教程(7)面向对象 | 7.6、多态
  • Cilium + ebpf 系列文章-什么是ebpf?(一)
  • RabbitMQ08_保证消息可靠性
  • 恶意Bot流量识别分析实践
  • Java2 实用教程(第6版)习题2 第四题
  • HashMap和ConcurrentHashMap的区别
  • css 下拉框展示:当hover的时候展示下拉框 z-index的用法解释
  • spring装配笔记
  • vscode【实用插件】Notes 便捷做笔记
  • 中间件:maxwell、canal
  • postman控制变量和常用方法
  • Spring Boot 中整合 Kafka