б'єкта переменнная root може приймати значення:
В· root = - 1 - файл не відкрито
В· root = 0 - файл відкритий але дерево путое
В· інші значення - файл відкритий, значення root є файловий покажчик кореневу вершину
Конструктор і деструктор
BinaryTree () {(); = 0; = NULL;
}
~ BinaryTree () {(name) delete name;
}
Методи створення і відкриття файлу
Ці два методи використовують стандартний метод відкриття файлу класу fstream.create (char *);
Створює файл, якщо не існує, якщо існує - унічтажает всі дані в ньому. Файл передається через параметр. Повертає 1, якщо файл успішно відкритий, 0, якщо відбулася ошібка.Open (char *);
Відкриває існуючий файл, ім'я файлу передається через параметр. Повертає 1, якщо файл успішно відкритий, 0, якщо відбулася помилка. p align="justify"> Методи додавання об'єктів
Для додавання і видалення об'єктів створені за несколькометодов. Один з них головний публічний і використовується для доступу до методу з main (). Решта приватні, і вони викликається з головного методу. p align="justify"> Головний методadd (T &);
Передає об'єкт типу tпо посиланням для додавання його в дерево. Повертає 1, якщо вставка сталася успешно.0 - якщо в дереві вже існує такий об'єкт. p align="justify"> Допоміжні методиcreatenode (T &);
Ініціалізує вершину нулями у файлі і вставляє в початок МУ об'єкт. Повертає файловий покажчик на створену вершину. (Ulongp, T & obj, ulongpobj);
Рекурсивна функція, яка вставляє об'ектв піддерево, коренева вершина якого розташована у файлі за вказівником p. Повертає 1, якщо вставка сталася успішно, 0 - якщо в дереві вже існує такий об'єкт. p align="justify"> Вхідні параметри: - покажчик на вершину поддерева, для позиціонування у файлі & obj - вставляється об'ектpobj - покажчик на об'єкт у файлі, використовується коли на вхід функції передається раніше виштовхнути з якої-небудь вершини об'єкт. p>
Метод видалення об'єкта del (T & obj); del (ulong p, T & obj);
Видаляє об'єкт obj типу T з поддерева, коренева вершина якого розташована у файлі за вказівником p. Возращает:
В· 1 у разі успіху
В· 0, якщо такого об'єкту немає в дереві
В· 1, якщо видалено останній об'єкт з кінцевий вершини