C3D Toolkit  Kernel - 105122, Vision - 0.181114.105122

Cбалансированное дерево. Подробнее...

Открытые члены

 BalanceTree (Compare_t c_t=SimplePointCompFuncT, Compare_v c_v=NULL, bool shouldDelete=true)
 Конструктор.
 
virtual ~BalanceTree ()
 Деструктор.
 
bool Add (Type *)
 Добавить элемент.
 
size_t Count () const
 Получить количество элементов.
 
void Flush (DelType=defDelete)
 Удалить все элементы.
 
bool Remove (Type *delObject, DelType=defDelete)
 Удалить элемент из массива.
 
bool FindIt (const Type *) const
 Найти элемент по указателю.
 
Type * Find (void *) const
 Найти элемент.
 
bool Detach (const Type *)
 Отсоединить объект.
 

Открытые атрибуты

BalanceTreeNode< Type > * root_m
 Корень дерева.
 
size_t allCount_m
 Количество.
 
bool owns_m
 Можно ли удалять элементы.
 
bool isBranchGrew_m
 Флаг роста дерева.
 
Compare_t compT_m
 Функция сортировки используется при добавлении объекта.
 
Compare_v compV_m
 Функция сортировки используется при поиске объекта.
 

Статические открытые данные

static size_t countIsSame = 0
 Число сравнений (для отладки)
 

Защищенные члены

bool AddToBalanceTree (Type &content, BalanceTreeNode< Type > *&node, bool &isBranchGrew)
 Добавить объект в дерево.
 
bool DeleteFromBalanceTree (Type &content, BalanceTreeNode< Type > *&node, bool &isBranchGrew, DelType del)
 Удалить объект из дерева.
 
void BalanceL (BalanceTreeNode< Type > *&node, bool &isBranchGrew)
 Балансировать левую ветвь.
 
void BalanceR (BalanceTreeNode< Type > *&node, bool &isBranchGrew)
 Балансировать правую ветвь.
 

Подробное описание

template<class Type>
class BalanceTree< Type >

Cбалансированное дерево.

Cбалансированное дерево.


Объявления и описания членов класса находятся в файле: