在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。包括有大括号{},中括号[],小括号(),尖括号<>等。 对于每一对括号,必须先左边括号,然后右边括号;如果有多个括号,则每种类型的左括号和右括号的个数必须相等。

对于c++ 可以用栈来进行匹配

对于c语言 可以用数组模拟即可

这次就用c++的栈来实现括号匹配

vs2017
//括号匹配
#include<iostream>
using namespace std;
#include<stack>
#include<stdio.h>
int main()
{stack<char> st;//定义栈stchar s[100];//输入括号内容      ()while (scanf("%s", &s) != EOF) {int len = strlen(s);for (int i = 0; i < len; i++){if (st.empty()) st.push(s[i]);else{char now = st.top();if (s[i] == ')'&& now == '(' || s[i] == '}'&& now == '{')  st.pop();else st.push(s[i]);}}if (st.empty()) cout << "yes" << endl;else cout << "no" << endl;}return 0;
}

栈的应用 括号匹配 c++相关推荐

  1. 栈应用之 括号匹配问题(Python 版)

    栈应用之 括号匹配问题(Python 版) 检查括号是否闭合 循序扫描被检查正文(一个字符)里的一个个字符 检查中跳过无关字符(所有非括号字符都与当前处理无关) 遇到开括号将其压入栈 遇到闭括号时弹出 ...

  2. 数据结构实验之栈四:括号匹配

     数据结构实验之栈四:括号匹配 Description 给你一串字符,不超过50个字符,可能包括括号.数字.字母.标点符号.空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配. Inp ...

  3. 栈的应用--括号匹配的检验

    算法中设置一个栈,每次读入一个括号,若是右括号,则或者与置于栈顶的括号匹配,或者是不合法的情况,若是左括号,则入栈.若算法结束,栈是空的,则括号合法. 括号匹配函数 Status bracket_ma ...

  4. sdut 数据结构实验之栈四:括号匹配

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

  5. c语言栈训练题目:括号匹配

    c语言栈训练题目:括号匹配 基本思路: 当前字符不是括号,不做处理: 当前字符是左括号,则进栈: 当前字符是右括号:若栈空,则表明该"右括号"多余,不匹 配,结束:否则和栈顶元素比 ...

  6. 栈应用之括号匹配(C语言)

    { ( hey! )[不管是电子表还是劳力士,他们的指针都是一样转动的.] } ) 宁是否发现了不舒服的地方,oh这种事是无法让强迫症忍受的,没错,这里的括号是不匹配的,就像C语言中,如果你输入的括号 ...

  7. JAVA栈应用之括号匹配

    JAVA栈应用之括号匹配 在数据处理中,常常要判断数据中的括号,应用栈来处理及其方便. 当用户输入一个字符串时,遇到左括号时,将其入栈,如'(' '["'{,而遇到右括号时,如')" ...

  8. [栈应用一] 括号匹配问题

    stack<int> S;   定义一个元素类型为int的堆栈S S.push(i);    向堆栈中压入一个数 int x = S.pop();   读取栈顶元素,并赋值x S.pop( ...

  9. 栈的应用-括号匹配的检验

    1.算法描述 在括号匹配算法中定义int flag = 1变量来标记匹配结果是成功还是失败! 利用数据结构栈,从左到右依次扫描字符串:若是遇到左括号入栈:若是遇到右括号:若栈非空,使用Pop(s,to ...

最新文章

  1. oracle时间相减得到天数_【数列】从错位相减到阿贝尔变换
  2. 计算机科学领域最高荣誉,骄傲!这位毕业于嘉兴一中的数学家,荣获华人数学领域的最高荣誉...
  3. python代码案例详解-Python之入门基础字典案例详解,新手必学
  4. php过滤第一个逗号和最后一个逗号,PHP字符过滤函数去除字符串最后一个逗号(rtrim)...
  5. 如果测试没有梦想,那跟咸鱼有什么区别?
  6. 2021.08.26学习内容 Win10+GeForce GTX1650安装NVIDIA显卡驱动及CUDA11.4+cuDNN8.2
  7. 【ASP.NET学习笔记一】ASP.NET页面传参总结
  8. tableau如何生成HTML文件,Tableau 入门
  9. 新浪再传将被转手 盛大卖股TOM集团接盘?
  10. 【CSS】1095- CSS filter 有哪些神奇用途
  11. 【Oracle 11g学习路线】
  12. 鼠标连接在计算机,鼠标怎么连接在电脑上
  13. 也许你我都在等待~~~~~~~~~~~~~~~~
  14. 用vlookup在excel表格里查找数据
  15. Linux 使用Nginx 拦截屏蔽异常访问IP并加入黑名单
  16. 基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
  17. 医疗无菌加工之冷冻干燥 –冻干机搁板温度分布验证的指南规范与工艺建议
  18. 高级webshell,过狗
  19. medium_socnet靶场
  20. android将一个long型转成时间字符串

热门文章

  1. RBAC数据库的E-R模型
  2. Chango的数学Shader世界(九)流体模拟-散度,梯度,二阶导与拉普拉斯
  3. 银行木马卷土重来、开发者破坏开源库影响数千应用程序|1月10日全球网络安全热点
  4. C语言循环队列的基本操作(init,enquene,dequene)与杨辉三角(C和C++<queue>)
  5. 什么是“便携式”应用程序,为什么如此重要?
  6. MECE的五中分类法则
  7. 为什么别人总是把你往“坏处想”?浅谈如何更好地与项目团队中的“网友”更好地交流
  8. 使用物联网卡发送短信
  9. 二维码编码库qrencode
  10. 1023: 大小写转换