uses System.Generics.Defaults,
System.Generics.Collections;
var
Numbers: TArray<Integer>;
Number: Integer;
begin
Numbers := [11, 2, 5, 7, 3];
TArray.Sort<Integer>(Numbers);
//numbers is [2, 3, 5, 7, 11]
//descending: custom comparer
TArray.Sort<Integer>(Numbers,
TComparer<Integer>.Construct(
function(const L, R: Integer): Integer
begin
Result := R - L;
end));
//numbers is [11, 7, 5, 3, 2]
for Number in Numbers do
Write(Number, ' ');
WriteLn;
end.