Поля
Корень дерева (Root): Указатель на класс TTreeNode
Методы
Конструктор
Вход: Родительский узел и данных нового узла
Предусловие: Нет
Начальные значения: Нет
Процесс: Инициализация полей объекта
Добавление узла (Add)
Вход: Указатель на узел и данные нового узла
Предусловие: Если узел равен NULL, то корня дерева не должно быть
Процесс: Создание нового узла и добавление его в конец дочернего списка родителя переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.
Постусловие: Новый узел добавлен в конец списка родителя переданного узла или становится корнем дерева.
Выход: Указатель на созданный узел
Вставка узла (Insert)
Вход: Указатель на узел, порядковый номер для вставки и данные нового узла
Предусловие: Узел не корень дерева и если узел равен NULL, то корня дерева не должно быть
Процесс: Создание нового узла и добавление его в указанную позицию дочернего списка родителя переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.
|
|
Постусловие: Новый узел добавлен в указанную позицию списка родителя переданного узла или становится корнем дерева.
Выход: Указатель на созданный узел
Удаление узла (Delete)
Вход: Указатель на узел и порядковый номер для удаления
Предусловие: Узел не равен NULL
Процесс: Удаление узла с переданным порядковым номером из дочернего списка родителя переданного узла. Если переданный узел является корнем дерева, то после удаления корень дерева устанавливается в NULL.
Постусловие: Узел удален из списка родителя переданного узла или удален корень дерева
Выход: Нет
Добавление узла (AddChild)
Вход: Указатель на узел и данные нового узла
Предусловие: Если узел равен NULL, то корня дерева не должно быть
Процесс: Создание нового узла и добавление его в конец дочернего списка переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.
Постусловие: Новый узел добавлен в конец списка переданного узла или становится корнем дерева.
Выход: Указатель на созданный узел
Вставка узла (InsertChild)
Вход: Указатель на узел, порядковый номер для вставки и данные нового узла
Предусловие: Если узел равен NULL, то корня дерева не должно быть
Процесс: Создание нового узла и добавление его в указанную позицию дочернего списка переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.
Постусловие: Новый узел добавлен в указанную позицию дочернего списка переданного узла или становится корнем дерева.
Выход: Указатель на созданный узел
|
|
Удаление узла (DeleteChild)
Вход: Указатель на узел и порядковый номер для удаления
Предусловие: Узел не равен NULL
Процесс: Удаление узла с переданным порядковым номером из дочернего списка переданного узла.
Постусловие: Узел удален из списка родителя переданного узла
Выход: Нет
Очистка дерева (Clear)
Вход: Нет
Предусловие: Нет
Процесс: Удаление всех узлов, начиная с корня дерева, и установка корня дерева в NULL
Постусловие: Все узлы дерева удалены, и корень установлен в NULL
Выход: Нет
Деструктор
Вход: Нет
Предусловие: Нет
Процесс: Удаление из памяти всех узлов, начиная с корня дерева.
Конец ADT TTree