all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
|
|
@ -0,0 +1,50 @@
|
|||
program TestInsertionSort;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
{.$DEFINE DYNARRAY} // remove '.' to compile with dynamic array
|
||||
|
||||
type
|
||||
TItem = Integer; // declare ordinal type for array item
|
||||
{$IFDEF DYNARRAY}
|
||||
TArray = array of TItem; // dynamic array
|
||||
{$ELSE}
|
||||
TArray = array[0..15] of TItem; // static array
|
||||
{$ENDIF}
|
||||
|
||||
procedure InsertionSort(var A: TArray);
|
||||
var
|
||||
I, J: Integer;
|
||||
Item: TItem;
|
||||
|
||||
begin
|
||||
for I:= 1 + Low(A) to High(A) do begin
|
||||
Item:= A[I];
|
||||
J:= I - 1;
|
||||
while (J >= Low(A)) and (A[J] > Item) do begin
|
||||
A[J + 1]:= A[J];
|
||||
Dec(J);
|
||||
end;
|
||||
A[J + 1]:= Item;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
A: TArray;
|
||||
I: Integer;
|
||||
|
||||
begin
|
||||
{$IFDEF DYNARRAY}
|
||||
SetLength(A, 16);
|
||||
{$ENDIF}
|
||||
for I:= Low(A) to High(A) do
|
||||
A[I]:= Random(100);
|
||||
for I:= Low(A) to High(A) do
|
||||
Write(A[I]:3);
|
||||
Writeln;
|
||||
InsertionSort(A);
|
||||
for I:= Low(A) to High(A) do
|
||||
Write(A[I]:3);
|
||||
Writeln;
|
||||
Readln;
|
||||
end.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
procedure InsertionSort(var S: string);
|
||||
var
|
||||
I, J, L: Integer;
|
||||
Ch: Char;
|
||||
|
||||
begin
|
||||
L:= Length(S);
|
||||
for I:= 2 to L do begin
|
||||
Ch:= S[I];
|
||||
J:= I - 1;
|
||||
while (J > 0) and (S[J] > Ch) do begin
|
||||
S[J + 1]:= S[J];
|
||||
Dec(J);
|
||||
end;
|
||||
S[J + 1]:= Ch;
|
||||
end;
|
||||
end;
|
||||
Loading…
Add table
Add a link
Reference in a new issue