Я должен был написать программу, которая принимает в качестве входного арифметическое выражение. Программа выводит, содержит ли выражение соответствующие символы группировки, и если он сбалансирован, он вычисляет результат выражения.Соответствующая структура данных для сопоставления символов группировки?
Например, арифметическое выражение {25 + (3 – 6) * 8}
сбалансировано и его результат равен 1
.
7 + 8 * 2
сбалансирован и его результат равен 23
.
Однако выражение 5 + {(13 + 7)/8 - 2 * 9
не содержит соответствующих символов группировки, поэтому мы не будем вычислять его результат.
Какова наилучшая структура данных (связанный список, стек и т. Д.)?
http://en.wikipedia.org/wiki/Shunting-yard_algorithm –