检验某符号(如圆括号,方括号,花括号等)是否都成对出现
2013-11-13 14:45
267 查看
检验某个符号(如圆括号,方括号,花括号等)是否都成对出现。如,[()]是合法的,但[(])是非法的。
这个算法的最简单方式是用栈实现,具体思路如下:
做一个空栈。
读入字符至文件尾。
如果字符是一个开放符号,则将其压入栈中。
如果字符是一个封闭符号
那么若栈为空,则报错;
若栈不为空,则将栈元素弹出。
# 如果弹出的符号不是对应的开放符号,则报错。
在文件尾,如果栈非空则报错。
该算法是线性的,事实上它只需对输入进行一次检验。因此,它是联机(on-line)的并且相当快。可以做一些附加的工作来决定当检测出错误时如何处理,例如判断可能的原因。
这个算法的最简单方式是用栈实现,具体思路如下:
做一个空栈。
读入字符至文件尾。
如果字符是一个开放符号,则将其压入栈中。
如果字符是一个封闭符号
那么若栈为空,则报错;
若栈不为空,则将栈元素弹出。
# 如果弹出的符号不是对应的开放符号,则报错。
在文件尾,如果栈非空则报错。
该算法是线性的,事实上它只需对输入进行一次检验。因此,它是联机(on-line)的并且相当快。可以做一些附加的工作来决定当检测出错误时如何处理,例如判断可能的原因。
相关文章推荐
- 利用栈写一个程序, 检验文本中的圆括号、方括号、花括号是否正确嵌套.
- 0基础学编程之输出菱形,水仙花数,计算某个数字的前n项和,检测花括号是否成对出现
- 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号是否成对出现
- 统计左右括号是否成对出现
- 验证花括号是否成对出现
- 假设一个数学算法中包括圆括号(),方括号[],花括号{}三种类型,编写表达式的括号是否配对
- 从标准输入读取C源码,并验证所有花括号都正确地成对出现。只检查其是否成对出现,不考虑其出现形式。
- 验证程序内花括号是否成对出现
- 括号成对出现、判断括号是否匹配(不用堆栈)
- 判断花括号是否成对出现
- 假设表达式中包含三种括号 圆括号方括号大括号 设计一个算法用顺序栈判断表达式中的括号是否正确配对
- 判断字符串中的括号是否成对出现
- 括号配对:假设一个数学算式中包括圆括号"()",方括号”[]"和花括号“{}”三种类型,编写一算法判断表达式的括号是否配对。
- 算法Sedgewick第四版-第1章基础-010一检查括号是否成对出现
- C语言 判断花括号是否成对出现
- 括号成对出现、判断括号是否匹配(不用堆栈)
- 判断字符串中符号是否成对出现
- 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号是否成对出现
- 【C语言】编写一个程序,它从标准输入读取C源代码,并验证所有花括号都正确的成对出现(修改)
- c语言 验证所有的花括号都正确的成对出现。