2015-09-06 18:46:31 +03:00
|
|
|
function QuickSort(a: sequence of integer): sequence of integer;
|
|
|
|
|
begin
|
2016-04-03 22:04:35 +03:00
|
|
|
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));
|
2015-09-06 18:46:31 +03:00
|
|
|
end;
|
2015-05-14 22:35:07 +03:00
|
|
|
|
|
|
|
|
begin
|
2015-09-06 18:46:31 +03:00
|
|
|
var a := ArrRandom(20);
|
2015-05-21 22:03:06 +03:00
|
|
|
a.Println;
|
2015-09-06 18:46:31 +03:00
|
|
|
QuickSort(a).Println;
|
2015-05-14 22:35:07 +03:00
|
|
|
end.
|