Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.24;
Скачать: CL | DM;

Вниз

Более быстрый алгоритм?   Найти похожие ветки 

 
Immortal_Death ©   (2003-11-05 09:05) [0]

Может кто ни будь предложит более быстродействующую схему, чем у меня.
У меня есть некие записи структура которых выглядит примерно так:
type
PWord = ^TWord;
TWord = record
Sym: String[1];
Wor: Word;
ListSym: TList;
end;
Кроме того у меня есть Tlist и не один. В TList я помещаю указатели на записи, в каждой записи у меня есть указатель на TList (ListPodSymbol: TList;), т.е. некая иерархия вложенности: в лист записи -> в запись лист -> в лист записи. Заранее не известно не кол-во указателей как вообще, так и в отдельном листе(но в отдельном листе максимальное кол-во указателей может быть не более 70), так неизвестно и кол-во листов(кол-во вложенных листов/записей, начиная от навального, ограниченно 20-тью). На этом сюрпризы не кончаются, вот этих "массивов" данных может быть и есть не один, а сохранить надо в одном файле.

Собственно говоря, я вижу только один путь:
создавать типизированный файл с полями приведенными в таблице ниже:

п\п.|..массив..|..лист..|...запись...|...ссылки..|.доп1.|.доп2.|...
------------------------------------------------------------------------...
.1...|.......1........|.....1.....|.......1........|.......2........|....-.....|....-.....|....
.2...|.......1........|.....1.....|.......2........|.......3........|....-.....|....-.....|....
.3...|.......1........|.....1.....|.......3........|.......0........|....-.....|....-.....|....
.4...|.......1........|.....1.....|.......4........|.......4........|....-.....|....-.....|....
.5...|.......1........|.....1.....|.......5........|.......0........|....-.....|....-.....|....
.6...|.......1........|.....2.....|.......1........|.......2........|....-.....|....-.....|....
.7...|.......1........|.....2.....|.......2........|.......3........|....-.....|....-.....|....
.8...|.......1........|.....2.....|.......3........|.......0........|....-.....|....-.....|....
.9...|.......1........|.....2.....|.......4........|.......0........|....-.....|....-.....|....
...
...
...

п\п - порядковый номер в БД.
массив - сумма независимых листотв и записей.
лист - отдельный лист в массиве
запись - запись в листе
ссылки - ссылки в записи на остальные листы
доп1, доп2 - необязательные параметры записи.

Минусы только в скорости. Может можно построить более рационально, точнее не столько рационально сколько быстро?


 
Immortal_Death ©   (2003-11-05 09:09) [1]

вместо (ListPodSymbol: TList;), читать (ListSym: TList; )



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

Текущий архив: 2003.11.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
14-79127
sagchat
2003-11-01 12:41
2003.11.24
сбрасываются игры


1-79015
td
2003-11-13 20:31
2003.11.24
как сгенерировать ошибку


1-79040
viol-2
2003-11-13 11:39
2003.11.24
Загрузка программы


11-78864
Boguslaw
2003-03-16 11:34
2003.11.24
Where is KOL archiw ?


1-79004
GhostDog
2003-11-14 11:41
2003.11.24
Пишу компонент TButton + TPopupMenu