//Time Complexity O(n^2)
function Sort(
const Arr: TArray<Integer>): TArray<Integer>;
var
I, J, Tmp: Integer;
begin
Result := Copy(Arr);
for I := High(Result) downto 1 do
for J := 0 to I - 1 do
if Result[J] > Result[J + 1] then
begin
Tmp := Result[J];
Result[J] := Result[J + 1];
Result[J + 1] := Tmp;
end;
end;
var
Items, SortItems: TArray<Integer>;
Number: Integer;
begin
Items := [4, 1, 5, 3, 2];
SortItems := Sort(Items);
//sortItems is [1, 2, 3, 4, 5]
for Number in SortItems do
Write(Number, ' ');
WriteLn;
end.