Porcelain/pascal/test1.pas
2024-05-25 03:49:08 +03:00

41 lines
755 B
ObjectPascal

program InsertionSort;
Var x: Integer;
Var numbers : array[1..5] of Integer;
procedure InsertionSort(size : Integer );
Var i, j, index : Integer;
Begin
For i := 2 to size do
Begin
index := numbers[i];
j := i;
While ((j > 1) AND (numbers[j-1] > index)) do
Begin
numbers[j] := numbers[j-1];
j := j - 1;
End;
numbers[j] := index;
End;
End;
Begin
writeln('Insertion Example: ');
numbers[1] := 9001;
numbers[2] := 42;
numbers[3] := 32;
numbers[4] := 64;
numbers[5] := 2;
for x:= 0 to 5 do
writeln('unsorted[', x, '] = ', numbers[x] );
InsertionSort(5);
writeln('=== sorted ===');
for x:= 0 to 5 do
writeln('sorted[', x, '] = ', numbers[x] );
End.