Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / дерево / 3 сообщений из 3, страница 1 из 1
20.01.2019, 19:49
    #39762137
Swv
Swv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дерево
Здравствуйте.


Пытаюсь под свои нужды адаптировать вот это вот дерево
https://github.com/vdisasm/delphi-bpus-tree/blob/master/bptree/grbtree.pas



объявлена переменная
Код: pascal
1.
    TPagesNew = TRBTree<TPage>;



TPage это record

Все вроде как добавляется, ищется, удаляется.

Дубликаты естественно не проходят

нода там выглядит так

Код: pascal
1.
2.
3.
4.
5.
    TRBNode = record
      K: T;                            
      Left, Right, Parent: TRBNodePtr; // <, >, ^
      Kind: TNodeKind;                 // node kind
    end;



объявлена она внутри TRBTree<T> = class(TEnumerable<T>)

что для меня уже достаточно ново )))

собственно хранение дубликатов

Планировал хранить дубликаты в такой вот переменной

Код: pascal
1.
TPages = TList<TPage>;



те просто список

думал добавить в TRBNode отдельную переменную типа Others: TPages

ну и если получится так, что дубликат добавляется, то в соответствующей ноде others инициализируется и дубликаты складываются туда.

Но вроде как универсальности не получается
ибо если объявить например так
Код: pascal
1.
TPagesNew1 = TRBTree<TPageBigger>;



то тогда по логике должно быть так

Код: pascal
1.
TPagesBigger = TList<TPageBigger>;



а в класс уже зашит тип other = TPages


Может конечно решение простецкое, но затупил
...
Рейтинг: 0 / 0
21.01.2019, 01:44
    #39762181
Swv
Swv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дерево
Все оказалось проще некуда) просто не был знаком с таким синтаксисом)
...
Рейтинг: 0 / 0
21.01.2019, 08:53
    #39762218
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дерево
Swv,

просто не удаляют "равные" при добавлении и всё, зачем фантазировать?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / дерево / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]