Вниз
Скачать: CL | DM;

Оригинальный TList   Найти похожие ветки 

← →
HydraMarat   (2003-05-14 18:40) [0]

Уважаемые Мастера, необходимо сделать, как бы, сквозной список. Т.е. он его элементы определяются некоторым индексом и считаются реальным, но на самом деле отсутствовать. Некоторая вариация на тему св-ва Capacity, но то вель по-любому выделит Pointer"ы, а вот как без выделения памяти обойтись? Может что посоветуете.

Спасибо!


← →
clickmaker ©   (2003-05-14 18:55) [1]

А ты не удаляй объекты из списка, а просто освобождай память и присваивай соотв. эл-ту списка nil.
До тех пор пока не скажешь List.Pack, они будут в нем жить, и индексы не съедут


← →
Тих   (2003-05-14 20:48) [2]

> TList, which stores an array of pointers
Вообще, лучше на torry поискать какой-нить аналог сишных map или hash_map, или самому реализовать вот такой вот РАЗРЕЖЕННЫЙ массив. Алгоритм в общем-то прост - при обращении к элементу по индесу класс-контейнер сперва проверяет, есть ли уже элемент с таким индесом в нем, если нет - создает, если есть - отдает (указатель на) ранее созданный. При помещении в него элемента - аналогично.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
3-83344
Seven
2003-05-05 06:54
2003.05.26
Upper в Interbase


1-83572
snake1977
2003-05-14 08:53
2003.05.26
Окончание записи в файл


1-83440
fool
2003-05-14 18:09
2003.05.26
Автоматизация Microsoft Word


9-83315
ЛехаШ
2002-11-04 09:05
2003.05.26
Столкновение шаров


6-83631
P4
2003-03-27 08:34
2003.05.26
MB




   Наверх