括号的匹配(c语言数据结构)

该博客讨论了如何在C语言中实现括号匹配算法,确保算术表达式的括号合法性和正确嵌套顺序。内容包括输入输出格式、样例输入输出以及两种不同的解决方案,一种基于数组的基本括号匹配,另一种考虑了括号的运算优先级。
摘要由CSDN通过智能技术生成

Description

题意描述:
  在算术表达式中,除了加、减、乘、除等运算外,往往还有括号。包括有大括号{},中括号[],小括号(),尖括号<>等。
  对于每一对括号,必须先左边括号,然后右边括号;如果有多个括号,则每种类型的左括号和右括号的个数必须相等;对于多重括号的情形,按运算规则,从外到内的括号嵌套顺序为:大括号->中括号->小括号->尖括号。例如,{[()]},{()},{ {}}为一个合法的表达式,而([{}]),{([])},[{<>}]都是非法的。

Input

  文件的第一行为一个整数n(1≤n≤100),接下来有n行仅由上述四类括号组成的括号表达式。第i+1行表示第i个表达式。每个括号表达式的长度不超过255。

Output

  在输出文件中有N行,其中第I行对应第I个表达式的合法性,合法输出YES,非法输出NO。

Sample Input

5  
{[(<>)]} 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值