Sorting algorithms/Quicksort: Difference between revisions

imported>Rcmlz
imported>Rcmlz
Line 8,282:
 
<syntaxhighlight lang="raku" line>
#| Recursive, parallel, random pivot, single-pass, quicksort implementation
submulti quicksort-parallel-naive(@\a where a.elems < 2) { a }
multi quicksort-parallel-naive(\a, \pivot = a.pick) {
return @a if @a.elems < 2;
my %prt{Order} is default([]) = @a.classify(: * cmp $pivot );
my $pivot = @a.pick;
my %prt{Order} is default([]) = @a.classify( * cmp $pivot );
my Promise $less = start { samewith(%prt{Less}) }
my $more = samewith(%prt{More});
Anonymous user