您的位置:首页 > 其它

检验某符号(如圆括号,方括号,花括号等)是否都成对出现

2013-11-13 14:45 267 查看
检验某个符号(如圆括号,方括号,花括号等)是否都成对出现。如,[()]是合法的,但[(])是非法的。

这个算法的最简单方式是用栈实现,具体思路如下:

做一个空栈。
读入字符至文件尾。
如果字符是一个开放符号,则将其压入栈中。
如果字符是一个封闭符号
那么若栈为空,则报错;
若栈不为空,则将栈元素弹出。

# 如果弹出的符号不是对应的开放符号,则报错。

在文件尾,如果栈非空则报错。

该算法是线性的,事实上它只需对输入进行一次检验。因此,它是联机(on-line)的并且相当快。可以做一些附加的工作来决定当检测出错误时如何处理,例如判断可能的原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 括号匹配
相关文章推荐