利用栈数据结构解决括号匹配问题

利用栈数据结构解决括号匹配问题
题目描述:
在文字处理软件或编译程序设计时,常常需要检查一个字符串或一个
表达式中的括号是否相匹配?利用数据结构的“栈”机制,设计算法并
编写程序,判断表达式中括号匹配问题。(了解“栈” 的定义)
题目描述:输入算术表达式 A,以#键结束。其中包括:整数、四则运
算符,和六种括号“(”, “)”, “[”, “]” , “{”, “}”,请你利
用数据结构的“栈”机制设计算法并编写程序,检查算术表达式 A 的
括号是否匹配,如果匹配输出“括号匹配成功”,否则输出“括号匹配
失败”。
样例 1: 8*(3+3)/5*[9-3]+9#
输出:括号匹配成功
样例 2: 8*(9-6)/5*[3+3*{9-5}]#
输出:括号匹配成功
样例 2: 8*(9-6)/5][3+3{9-5}#
输出:括号匹配失败

源程序编码如下:
#include
#include
using namespace std;

int main()
{string s;
int n=0;
while ( cin>>s[n]&&s[n]!= ‘#’)
{
n++;
}

stack<char> brackets;
int i=0;
for(i=0;i<s.length();i++)
 {      if(s[i]=='('|
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值