pascalabcnet/_Presentations/2015 New Features/Programs/QuickSortLinq3.pas
2016-04-03 22:04:35 +03:00

13 lines
300 B
ObjectPascal

function QuickSort(a: sequence of integer): sequence of integer;
begin
Result := a.Count = 0 ? a :
QuickSort(a.Skip(1).Where(x -> x <= a.First))
+ a.First +
QuickSort(a.Skip(1).Where(x -> x > a.First));
end;
begin
var a := ArrRandom(20);
a.Println;
QuickSort(a).Println;
end.