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

栈:只允许在一端进行插入或删除操作的线性表

一、重要术语:

栈顶、栈底、空栈

二、线性表的基本操作

三、栈的相关操作:

把线性表中的list改成stack

                        insert改成 push

                        delete 改成 pop

总结:“后进先出”

四、顺序栈:

缺点:栈的大小不可变

1.定义:

2.初始化:判断栈顶元素是否为空只需要s.top==-1是否成立

S.top = S.top + 1

>>>>>>> top指针加一

>>>>>>>>

S.data[S.top] = x 

>>>>>>>数据存入

>>>>>>>>top指针始终指向栈顶元素

等价代换式

应该是让top加一,再让其指向数据元素

而不能写成S.top++

否则会变成 先指向数据元素再加一


五、出栈操作:S.top--

六、读栈操作:

读栈>>>>>s.top++和--s.top要进行记忆

七、共享栈:

总结:

总结:

对于pop操作和push操作

在一开始要加入元素时候,指针指向的是栈以外的区域,并不是栈内,所以要先++指针,再进行插入操作

而对于pop弹出元素时候,指针一开始就指向栈顶,所以要先将所指的这个元素进行pop弹出,再进行j-- 操作


http://www.kler.cn/a/326775.html

相关文章:

  • 内部知识库的未来展望:技术融合与用户体验的双重升级
  • 【Linux】ChatGLM-4-9B模型之All Tools
  • Doris Tablet 损坏如何应对?能恢复数据吗?
  • GitPuk安装配置指南
  • vue3 如何使用 mounted
  • chrome浏览器id值预览后发生改变
  • 王道-计网
  • HTML讲解(三)通用部分
  • 音频编码:PCM【无损音频】
  • 如何保证Redis与数据库的数据一致性
  • 《程序猿之Redis缓存实战 · 字符串类型》
  • 浅谈网络通信中的透传和非透传
  • 01---java面试八股文——springboot---10题
  • rsync+inotify
  • 【KVM】虚拟化技术及实战
  • defineExpose 显式导出子组件方法
  • 基于SSM的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • MAC M1 安装brew 配置环境变量,安装dart
  • 电影系统1-MovieStrip.vue
  • 一款基于 RBAC 的 Net8 后台管理框架,权限管理,前后台分离,支持多站点单点登录(附源码)
  • 基于Apache和Tomcat的负载均衡实验报告
  • 【30天玩转python】Web开发(Flask/Django)
  • 基于springboot框架的智能招聘系统的设计与实现3hlst
  • ruoyi网页刷新后报404
  • Python电能质量扰动信号分类(六)基于扰动信号特征提取的超强机器学习识别模型
  • VIM的使用总结