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

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

一.括号匹配问题:

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.mrgr.cn/news/40774.html

相关文章:

  • 数据结构-3.10.队列的应用
  • 前端BOM常用操作
  • 知识图谱入门——2:技术体系基本概念:知识表示与建模、知识抽取与挖掘、知识存储与融合、知识推理与检索
  • 【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换
  • 【React】入门Day01 —— 从基础概念到实战应用
  • 【项目开发】跨专业合作平台实战(附源码)
  • 基于 Transformer 的中英文翻译项目
  • 48.哀家要长脑子了!
  • 代码随想录算法训练营第四六天| 647. 回文子串 516.最长回文子序列
  • 【Java 集合】List接口 —— ArrayList 与 LinkedList 详解
  • 机器学习模型评估
  • JavaScript 反射(Reflect)和代理(Proxy)简单介绍
  • [python][pipenv]pipenv的使用
  • 《野蛮时代》数据分析项目实战——报告
  • Spring Data(学习笔记)
  • linux常用命令汇编(持续更新)
  • 波动方程(将麦克斯韦方程组求出只有E或H的表达式)
  • DBeaver显示PostgreSQL数据库的信息模式
  • 代码随想录算法训练营第四八天| 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II
  • 自闭症寄宿学校 vs. 日常教育:为孩子提供更多可能