栈(先进后出)

一、逻辑结构

栈到底是什么?

栈是一种只能在一端进行插入或删除操作的线性表

二、存储结构

顺序栈


++top 的意思是 先让top 自增1

top-- 先取top的值 再减1
注意一个点:
此时3和4 还在数组中,但是却不在栈中了(栈中元素访问【0,top】)

链栈



注意:顺序栈会出现栈空和栈满的状态,但是链式会栈空,但是只要由足够的内存,栈就不会满

队列(先进先出)

一、逻辑结构

队列是一种插入元素只能在一端(队尾)能进,删除元素只能在另一端(队头)进行的线性表。

一、存储结构

顺序队(数组和指示变量)


容易发生假溢出

利用取余的方法实现“圆环”
队空状态:front==rear

队满状态:front==(rear+1)%maxSize为真

链队

在内存足够的情况下,它连队满都不会有呢

当front->next==null 队空

但是很多考题都会把front和rear放在一个结构体中(如下图)
很显然当front==null的时候 队空

栈和队列的考点总结

输出序列

考试不要掉入陷阱当中
谁说不能一边入栈一边出栈呢

经典题型(分类讨论)

标黄色的 不可能实现
告诉我们 最后一个入栈的元素 第一个出栈,出栈的顺序就是固定的,不能乱来
若1、2、3 则无3、1、2

课外拓展

表达式转换问题




中缀表达式转后缀


注意点:
为什么可以丢掉括号:因为每一个中缀表达式 只有唯一的后缀表达式与之对应

用栈实现表达式转换问题

中缀转后缀


小于等于(要入栈的那个运算符与栈顶的比较)则出栈 大于入栈
遇到左括号 所有扫描到的运算符直接全部入栈
遇到右括号的时候 执行一系列的出栈操作(出栈的括号直接扔掉)

中缀转前缀

数据结构复习之栈和队列(正在整理中...)感谢天勤考研..相关推荐

  1. SDUT-2449_数据结构实验之栈与队列十:走迷宫

    数据结构实验之栈与队列十:走迷宫 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 一个由n * m 个格子组成的迷宫,起 ...

  2. sdut 2088 数据结构实验之栈与队列十一:refresh的停车场

    数据结构实验之栈与队列十一:refresh的停车场 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem ...

  3. sdut 1479 数据结构实验之栈与队列九:行编辑器

    数据结构实验之栈与队列九:行编辑器 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  4. sdut 3335 数据结构实验之栈与队列八:栈的基本操作

    数据结构实验之栈与队列八:栈的基本操作 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descri ...

  5. sdut 3333 数据结构实验之栈与队列六:下一较大值(二)

    数据结构实验之栈与队列六:下一较大值(二) Time Limit: 150MS Memory Limit: 8000KB Submit Statistic Discuss Problem Descri ...

  6. sdut-3332 数据结构实验之栈与队列五:下一较大值(一)

    数据结构实验之栈与队列五:下一较大值(一) Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Desc ...

  7. sdut 2134 数据结构实验之栈与队列四:括号匹配

    数据结构实验之栈与队列四:括号匹配 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Problem Descript ...

  8. SDUT-2132_数据结构实验之栈与队列二:一般算术表达式转换成后缀式

    数据结构实验之栈与队列二:一般算术表达式转换成后缀式 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 对于一个基于二元运 ...

  9. 计算机队列概念,2020计算机专业考研数据结构知识点:栈、队列和数组

    2020计算机专业考研数据结构知识点:栈.队列和数组 1.栈.队列的定义及其相关数据结构的概念,包括:顺序栈.链栈.循环队列.链队列等.栈与队列存取数据(请注意包括:存和取两部分)的特点. 2. 掌握 ...

最新文章

  1. php 引入类_PHP 如何引入同一文件下多个class类
  2. linux播放视频的最简单方法
  3. yum是什么?(linux命令) .
  4. RTA广告能力的应用场景剖析
  5. 极度丝滑!CentOS/Unbuntu系统下快速设置虚拟内存,一行命令快速搞定!!!
  6. Procrustes Analysis(普氏分析)
  7. Ruby编程语言学习笔记4
  8. CUDA学习(三十六)
  9. 数据库流行度10月排行榜:Oracle 王者归来和 Redis 青云直上
  10. Part 2 —— 迁移到 Go Modules
  11. 惠普服务器ssa找不到控制卡,DL380 Gen10服务器Vmware ESXi 6.0 系统SSACLI工具
  12. pytorch自动求导数机制
  13. python设置路径变量_python – Bokeh中设置的静态路径变量在哪里(对于create_html_snippet)...
  14. f5 会话保持 负载均衡_f5会话保持的.doc
  15. 浏览器分辨率使用排名以及不同分辨率下的网页测试
  16. STM32L0外接32768HZ晶振应该接多大的负载电容才合适
  17. 只愿得一人心白首不分离
  18. 解决Linux“Device is busy”与磁盘只读
  19. 如何彻底删除小黑记事本弹窗
  20. itlwm驱动_黑苹果春天:macOS英特尔/Intel无线驱动 itlwm v1.1.0 stable

热门文章

  1. 超哥带你玩转正则表达式-(六)
  2. 汉游天下掼蛋源码window.onload用法技巧
  3. 邮政集团的OA系统无法显示文档
  4. 双胞胎宝宝取名要注意什么
  5. SQL优化大神带你写有趣的SQL(6) SELF JOIN的应用
  6. Qt (高仿Visio)流程图组件开发(九) 流程图 代码展示
  7. Unity Shader - 故障艺术之 - Glitch Art - ImageBlock + Split RGB (区块强度 + 分离通道颜色的故障效果)
  8. 教室预约微信小程序,教室预约系统小程序,教室预约小程序系统毕业设计作品
  9. 苹果nfc功能怎么开启_手机上面的NFC功能怎么用的
  10. python(3.9.7)的字典(全面、细致)