- or download this
sub mergesort {
my( $av, $beg, $end )= @_;
...
}
}
}
- or download this
sub uniqmergesort {
my( $av, $beg, $end )= @_;
...
return 0;
#^^^^^^^^
}
- or download this
sub merge {
my( $av, $a, $b, $c, $d )= @_;
...
@$av[$beg..$end]= @$av[ @i, $a..$b, $c..$d ];
return $d-$end;
}
- or download this
(...done...)= items already sorted and (less dups) output
p= the pivot or a duplicate of it
...
if n is a "b", swap: b<------->u
if n is an "a", swap: p-a
if n is a "p", swap: p a<------->p
- or download this
(...done...) b b b b b b b b p a a a a a a a p p p p (...to-do...)
|---sort next---|
- or download this
(...done...) b p a p p (...to-do...)
|write|