Построить дерево по постфиксной записи
Помогите, пожалуйста!
Не могу разобраться, как правильно описать структуру стек, чтобы в него добавить корень дерева (или как написано в 3-м пункте алгоритма).
Пишу на c++.
Вот отрывок из кода, где описываю структуры.
Структура дерева
struct Node
{
string value;
Node *left, *right;
};
Структура стека
struct Temp
{
char valueA;
struct valueB;
Temp *Next;
};
Построение из постфиксной записи
Алгоритм Postfix
-
Если не достигнут конец строки ввода, прочитать очередной символ, если этот символ - операнд, то занести его в стек1), иначе (символ - операция):
1) создать новый элемент, записать в него эту операцию; 2) достать из стека два верхних (последних) элемента, присоединить их в качестве левого и правого операндов в новый элемент; 3) занести полученный "треугольник" в стек.
По окончании работы этого алгоритма в стеке будет содержаться ровно один элемент - указатель на корень построенного дерева.
Источник: Stack Overflow на русском