数据结构-3.8.栈在括号匹配中的应用

server/2024/10/9 15:20:37/

一.括号匹配问题:

1.例一:

把左括号依次压入栈中,越往后压入栈的左括号越先被匹配即被弹出栈->先进后出,后进先出

2.例二:

当遇到左括号就压入栈中,当遇到右括号就把栈顶的左括号弹出,检查该右括号和左括号是否匹配

当遇到一个不匹配的就停止压入栈,因为之后的括号必定都不匹配。

3.例三:

4.例四:

5.例五:


二.思维导图:

其中Y代表Yes,N代表No


三.代码实现:

1.对于bracketCheck函数,形参str[]是传入的一个字符串,length是该字符串的长度;

字符topElem代表栈顶元素;return StackEmpty(S)如果是return false说明栈不为空,则左括号单身;

创建栈顶元素topElem时代表扫描到右括号且栈不为空,用栈顶元素topElem记录左括号;

2.结构体SqStack代表一个顺序栈。


四.总结:



http://www.ppmy.cn/server/126354.html

相关文章

void类型

编程语言中的void类型是一种特殊的数据类型,它表示不存在任何值。void, 无或者空类型。大部分编程语言支持void, 用做函数无返回值类型。最早ALGOL 68引入void类型。 void的特别使用 经典C缺乏void类型,函数可以不指定返回值,默认是整型int.…

MacOS多桌面调度快捷键

单桌面调度快捷键 可能是我用着妙控鼠标用着不习惯,所以追求快捷键操作,看起来也比较酷。而且在Windows上,我基本不使用多桌面,但是看着同事用Mac的多桌面用的飞起,炫酷程度不亚于win7的Windows键Tab。在不使用多桌面的…

MySQL基础练习题49-低质量的问题

目录 题目 准备数据 分析数据 总结 题目 找出 低质量 问题的 ID 集合。如果一个力扣问题的喜欢率(喜欢数除以总投票数)严格低于 60% ,则该问题为低质量问题。 按 problem_id 升序排列返回结果表。 准备数据 Create table If Not Exis…

创建Vue项目的时出现:无法加载文件 E:\software\node\node_global\vue.ps1,因为在此系统上禁止运行脚本

创建Vue项目的时出现的问题:出现:无法加载文件 E:\software\node\node_global\vue.ps1,因为在此系统上禁止运行脚本 解决方法: .PowerShelll的执行政策阻止了该操作,用 get-ExecutionPolicy 查看执行策略的状态为受限 输入Set-ExecutionPo…

Java面试——操作系统篇

1.进程线程的区别 定义: 进程:进程是操作系统进行资源分配和调度的一个独立单位。它是应用程序运行的实例,拥有独立的内存空间。线程:线程是进程中的一个实体,是被系统独立调度和分派的基本单位。线程自身基本上不拥有…

element-ui 通过按钮式触发日期选择器

element ui 写在前面1. 自定义的日期时间组件CustomDatePicker.vue2. 页面效果总结写在最后 写在前面 需求:elementui中日期时间选择器,目前只能通过点击input输入框触发日期选择器,我希望能通过其他方式触发日期选择器同时把input输入框去掉…

Thinkphp/Laravel基于Vue的重庆旅游网站交互设计与实现

目录 系统介绍具体实现截图技术栈和环境说明开发技术简介解决的思路性能/安全/负载方面数据访问方式PHP核心代码部分展示代码目录结构解析系统测试详细视频演示获取源码方式 系统介绍 本系统的设计与实现共包含12个表:分别是关于我们信息表,配置文件信息表&#xf…

Kubernetes云原生存储解决方案之 Rook Ceph实践探究

Kubernetes云原生存储解决方案之 Rook Ceph实践探究 除了手动部署独立的 Ceph 集群并配置与Kubernetes进行对接外,Rook Ceph 支持直接在 Kubernetes 集群上部署 Ceph 集群。 通过Rook Ceph云原生存储编排平台,使得 Kubernetes 集群中启用高可用的 Ceph…