Основы программирования. Динамические массивы. Списки. Ассоциативные массивы. Деревья. Хеш-таблицы - 7 стр.

UptoLike

Составители: 

9
Reserve(2*sz);
end;
function DynArray.Size: integer;
begin
Result:=sz;
end;
function DynArray.Capacity: integer;
begin
Result:=cap;
end;
procedure TrimToSize;
var data1: PIntArr;
begin
cap:=sz;
if cap=0 then
cap:=4;
GetMem(data1,cap*sizeof(DataType));
Move(data,data1,sz*sizeof(DataType));
FreeMem(data);
end;
procedure Add(x: DataType);
begin
Resize(Count+1);
data^[Count-1]:=x;
end;
procedure DynArray.SetItem(i: integer; x: DataType);
begin
Assert((i>=0) and (i<sz),
Выход за границы массива ’+IntToStr(i));
data^[i]:=x;
end;
function DynArray.GetItem(i: integer): DataType;
begin
Assert((i>=0) and (i<sz),
Выход за границы массива: ’+IntToStr(i));
Result:=data^[i];
end;
end.
Поясним реализацию некоторых методов. Класс DynArray имеет три пере-
груженных
конструктора, объявленых с использованием зарезервированного сло-
ва overload. В первом конструкторе массива указывается его первоначальный