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

Вниз

К вопросу о динамическом массиве ....   Найти похожие ветки 

 
Begin ©   (2002-10-01 02:11) [0]

... в свете оптимизации приложения. Не взирая на нелюбовь многих к данной структуре, довольно часто приходится ее использовать. Возник вопрос - как будет лучше для приложения в плане скорости его работы и/или необходимой памяти: Обращаться к самому массиву определяя его длину, вроде как

var A : array of string;
...
A:=nil;
...
for i:=0 to N do
begin
SetLength(A,Length(A)+1);
A[Length(A)-1]:="что то"
end


или же завести переменную и использовать ее для хранения текущей длины массива ???


var A : array of string;
j : integer;

...
A:=nil;
j:=1;
...
for i:=0 to N do
begin
SetLength(A,j);
A[j-1]:="что то";
inc(j,1)
end


 
ЮЮ ©   (2002-10-01 05:40) [1]

Дополнительная переменная, если это глобальная переменная, - дополнительная возможность ошибки.
А в случае, когда заранее известно на сколько увеличится длина массива, увеличить сразу, а не на 1 в цикле:
SetLength(A,N+1);
for i:=0 to N do A[i]:="что то";




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

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

Наверх




Память: 0.46 MB
Время: 0.017 c
3-31638
3AHO3A
2002-09-19 08:32
2002.10.10
Выделение цветом строки в DBGrid е


1-31688
REA
2002-09-25 16:14
2002.10.10
DLL и компоненты


1-31777
VladP
2002-09-30 10:24
2002.10.10
TCollectionDescendant.Add


1-31716
Осирис
2002-10-01 11:14
2002.10.10
TNotifyIconData


3-31608
Artur K
2002-09-18 21:23
2002.10.10
Paradox по сети как работать?