41 lines
755 B
ObjectPascal
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. |