Lab 5 Stack-Parenthesis Balancing Lab Outline
Lab 5 Stack-Parenthesis Balancing Lab Outline
Lab 05
Parenthesis Balancing
I. Topic Overview:
Students will learn a practical use case for stack data structure. By implementing and
using stacks methods, they will learn to check whether a given expression has balanced
parentheses or brackets.
Page 2 of 5
Instructions for students:
Page 3 of 5
Lab 04 Activity List
Input
Your program will take an arithmetic expression as a String input. For Example:
1. “1+2*(3/4)”
2. “1+2*[3*3+{4–5(6(7/8/9)+10)–11+(12*8)]+14”
3. “1+2*[3*3+{4–5(6(7/8/9)+10)}–11+(12*8)/{13+13}]+14”
Program
Your program will determine whether the open brackets (the square brackets, curly braces and
the parentheses) are closed in the correct order.
Outputs:
Output 1
1+2*(3/4)
This expression is correct.
Output 2
1+2*[3*3+{4–5(6(7/8/9)+10)–11+(12*8)]+14
This expression is NOT correct.
Error at character # 10. ‘{‘- not closed.
Output 3
1+2*[3*3+{4–5(6(7/8/9)+10)}–11+(12*8)/{13+13}]+14
This expression is correct.
Page 4 of 5
Output 4
1+2]*[3*3+{4–5(6(7/8/9)+10)–11+(12*8)]+14
This expression is NOT correct.
Error at character # 4. ‘]‘- not opened.
Task 1
Solve the above problem using an array based stack.
Task 2
Solve the above problem using a linked list based stack.
Page 5 of 5