Главная страница
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.011 c
3-31653
S
2002-09-20 11:29
2002.10.10
Помогите с запросом!


14-32008
DenKop
2002-09-17 13:37
2002.10.10
Прямое соединение через COM порт


1-31847
Ahmad
2002-09-25 07:11
2002.10.10
Шестнадцатиричное в десятичное...


1-31874
Kotka
2002-09-27 23:06
2002.10.10
Самораспаковывающийся архив


1-31897
123000
2002-09-28 20:26
2002.10.10
Поиск файлов в Delphi