实验四:用栈检测括号的匹配
上一节
下一节
实验四:用栈检测括号的匹配(2学时)
本次实验的主要目的在于使学生深入了解栈的特性,以便在实际问题背景下灵活运用;同时还将巩固对这种结构的构造方法的理解。
(一) 问题描述
括号匹配问题是编译程序时经常遇到的问题,用以检测语法是否有错。
(二) 基本要求
1. 用顺序栈来检测括号是否匹配。
2. 令所给的式子中出现()[ ]{ }这几种括号形式。
(三) 测试数据
自拟。务必涵盖以下情况:
1.个数不对,如( ( )
2. 个数不对,如 ( ) )
3.匹配不符,如( [ ) ]
(四) 实现提示
若为左半边括号则压栈,若为右半边括号,则与栈顶位置的括号比较是否匹配,若栈空,则表示一种不匹配的情况,若栈不空,则令栈顶元素出栈,若配不上,为不匹配的另一种情况;全部序列检测完毕后,看栈是否为空,若是,则匹配,否则,为不匹配的第三种情况。可设一标志变量flag,初值为true,若出现不匹配情况,令flag=false,最后对flag做一次检测,判断括号是否匹配。

