Помогите реализовать симметричный обход АВЛ-дерева С++

интернет компьютеры С++

имеется дерево в виде следущего списка и стек.
struct Tree { //Дерево
bool *isLast; //true когда лист последний
Tree *L, *R; //указатель на правый/левый лист
} ;
struct Stack { //Стек
Tree *local; //элемент дерева
Stack *link; //ссылка на след элемент списка
};

нужна функция симметричного(поперечного) обхода дерева, каждый лист при обходе записывается в стек, в итоге данные в стеке упорядоченны по возрастанию.Рекурсия приветствуется. может у кого есть готовый код, чуток имена переменных изменить, а кто хорошо в деревьях шарит - минуту написать.

"Поперечный обход: сначала обходится левое поддерево данной вершины, затем данная вершина, затем правое поддерево данной вершины. Вершины при этом будут следовать в неубывающем (по ключам key) порядке."
Ответы:
void TransversalWalk(Tree *Node)
{
 if(Node->L)
   TransversalWalk(Node->L);
 AddToStack(Node);
 if(Node->R)
   TransversalWalk(Node->R);
}


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.