Чет про программирование / практика / 17) Список на основе массива
.docxСписок на основе массива
type
arr_list = array of integer;
var
a: arr_list;
i, n: integer;
procedure show(a: arr_list); inline;
begin
for i := 0 to n-1 do begin
Write(a[i], ' ');
end;
WriteLn();
end;
procedure arr_insert(var a: arr_list; i, x: integer);
var
j: Integer;
begin
if i < 0 then exit;
SetLength(a, Length(a)+1);
inc(n);
for j := high(a) downto i+1 do
a[j] := a[j-1];
a[i] := x;
end;
procedure arr_delete(var a: arr_list; i: integer);
var
j: integer;
begin
if (i < 0) or (i > n) then exit;
for j := i to high(a)-1 do
a[j] := a[j+1];
SetLength(a, Length(a)-1);
dec(n);
end;
Begin
n := 10;
Randomize;
SetLength(a, n);
for i := 0 to n-1 do begin
a[i] := random(100);
end;
show(a);
arr_insert(a, 3, -1);
show(a);
arr_delete(a, 3);
show(a);
end.