2016 - 2024

感恩一路有你

括号匹配问题 栈c语言 用栈实现检验括号匹配的算法?

浏览量:1297 时间:2021-03-14 09:19:21 作者:admin

用栈实现检验括号匹配的算法?

我们的想法是推进堆栈,得到前半个括号,标记它,继续进入堆栈,直到得到第二个匹配的外括号,然后从堆栈中取出内容。就这样。

用栈检测括号匹配?

这是与括号匹配的函数部分:以下是与括号匹配的函数部分:

]voidmatch(seqsstacks,char*STR)//比较括号

!“n-

多余的右支架!n “

]exit(0)]}

]else

{

ch=gettop(&)

if(compare(ch,STR[i])

Pop(&)

else

{

printf(”n-u-

相应的左括号和右括号属于不同的类!n“”

exit(0)

}

}

}

]如果(getop&)=“”

printf(“”)]n^ ^ ^方括号匹配^ ^ n“”

else

{

printf(“n--要解决堆栈问题,我们遇到了左方括号堆栈,右方括号将堆栈从堆栈中展开。当堆栈出来时,我们判断它是否匹配,当扫描结束时堆栈为空时,它将匹配,否则它不匹配

(loop with stack=“()

!](loop with stack=“()

!for charross”[{(({(()()

!]((((((()(push char stack))

(否则(if(eq(car stack)(getf close char))

(pop stack)

(return nil)))

最后(return t))

括号匹配问题 栈c语言 利用栈将中缀转换为后缀 c语言数据结构栈括号匹配

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。