| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 |
| Это в центр помощи, да и билдер наверно не сильно нужен... |