Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Создание и заполнение дерева на с++


Автор: Helly 22.4.2007, 22:52
помогите пожалуйста написать программу, в которой заполняется 10-ичное дерево и делается его обход
Описание:
структура узла, в которой будут поля:
{
1 - имя узла (напр. А, В, С)
2 - массив ссылок на: родитель + до 10 детей ([11] элементов)
3 - у узла могут быть несколько атрибутов (строки)
}

+ функция, которая будет добавлять узел дерева 
+ ее вызов (заполнение дерева)
+ обход дерева и запись в список такой информации: 0[дети – их предок], 1[дети –предок]…..

есть пример создания и заполнения двоичного дерева:

Добавлено через 2 минуты и 11 секунд
#include <iostream.h>
struct TNode {
     int Key;
     TNode *Left;
     TNode *Right;
};

TNode *AddNode(TNode *Root, int Key) {
     if (Root == NULL) {
          Root = new TNode;
          Root->Key = Key;
          Root->Left = Root->Right = NULL;
     } else {
          if (Key < Root->Key) Root->Left = AddNode(Root->Left, Key);
          if (Key > Root->Key) Root->Right = AddNode(Root->Right, Key);
     }
     return Root;
}

}

main() {
     TNode *Root = NULL;
     Root = AddNode(Root, 100);
     Root = AddNode(Root, 90);
     Root = AddNode(Root, 80);
     Root = AddNode(Root, 81);
getchar();

хотела его поменять, но не могу разобраться с объявлением и заполнением структуры ссылок на родителя и детей...да и с обходом:(

Автор: Klin 22.4.2007, 23:00
Это в центр помощи, да и билдер наверно не сильно нужен...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)