ADT TTree

Поля

Корень дерева (Root): Указатель на класс TTreeNode

Методы

Конструктор

Вход: Родительский узел и данных нового узла

Предусловие: Нет

Начальные значения: Нет

Процесс: Инициализация полей объекта

Добавление узла (Add)

Вход: Указатель на узел и данные нового узла

Предусловие: Если узел равен NULL, то корня дерева не должно быть

Процесс: Создание нового узла и добавление его в конец дочернего списка родителя переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.

Постусловие: Новый узел добавлен в конец списка родителя переданного узла или становится корнем дерева.

Выход: Указатель на созданный узел

Вставка узла (Insert)

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

Предусловие: Узел не корень дерева и если узел равен NULL, то корня дерева не должно быть

Процесс: Создание нового узла и добавление его в указанную позицию дочернего списка родителя переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.

Постусловие: Новый узел добавлен в указанную позицию списка родителя переданного узла или становится корнем дерева.

Выход: Указатель на созданный узел

Удаление узла (Delete)

Вход: Указатель на узел и порядковый номер для удаления

Предусловие: Узел не равен NULL

Процесс: Удаление узла с переданным порядковым номером из дочернего списка родителя переданного узла. Если переданный узел является корнем дерева, то после удаления корень дерева устанавливается в NULL.

Постусловие: Узел удален из списка родителя переданного узла или удален корень дерева

Выход: Нет

Добавление узла (AddChild)

Вход: Указатель на узел и данные нового узла

Предусловие: Если узел равен NULL, то корня дерева не должно быть

Процесс: Создание нового узла и добавление его в конец дочернего списка переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.

Постусловие: Новый узел добавлен в конец списка переданного узла или становится корнем дерева.

Выход: Указатель на созданный узел

Вставка узла (InsertChild)

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

Предусловие: Если узел равен NULL, то корня дерева не должно быть

Процесс: Создание нового узла и добавление его в указанную позицию дочернего списка переданного узла. Если переданный узел равен NULL и корня не существует, то узел становится корнем дерева.

Постусловие: Новый узел добавлен в указанную позицию дочернего списка переданного узла или становится корнем дерева.

Выход: Указатель на созданный узел

Удаление узла (DeleteChild)

Вход: Указатель на узел и порядковый номер для удаления

Предусловие: Узел не равен NULL

Процесс: Удаление узла с переданным порядковым номером из дочернего списка переданного узла.

Постусловие: Узел удален из списка родителя переданного узла

Выход: Нет

Очистка дерева (Clear)

Вход: Нет

Предусловие: Нет

Процесс: Удаление всех узлов, начиная с корня дерева, и установка корня дерева в NULL

Постусловие: Все узлы дерева удалены, и корень установлен в NULL

Выход: Нет

Деструктор

Вход: Нет

Предусловие: Нет

Процесс: Удаление из памяти всех узлов, начиная с корня дерева.

Конец ADT TTree


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: