平衡符号

来源:互联网 发布:淘宝订单申请退款 编辑:程序博客网 时间:2024/04/28 11:02
   在编译器检查程序错误时,常常由于缺少一个符合引起编译器列出上百行的诊断,而真正的错误并没有找出。
   
   如序列“[()]”是合法的,而“[(])”是错误的。


   算法:


   做一个空栈。读入字符直到文件尾,如果字符是一个开放符号,则将其推入栈中。如果字符是一个封闭符号,则当栈空是报错。否则将栈元素推出。如果弹出的符号不是对应的开放符号,则报错。在文件尾,如果栈非空则报错。