Главная страница
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.025 c
6-79093
oduvan
2003-09-20 09:40
2003.11.24
Трабл!!! TWebBrowser (#bottom)


1-78927
McSimm2
2003-11-12 14:27
2003.11.24
MdiChildForm


3-78826
Pul
2003-11-04 15:48
2003.11.24
Использование UDF в SQL запросах Interbase


1-78990
Krag
2003-11-14 13:25
2003.11.24
Ребята, посоветуйте как загнать картинку экрана монитора в bmp


8-79063
9351561
2003-07-20 01:31
2003.11.24
Как определить время