Help for this page

Select Code to Download


  1. or download this
    sub mergesort {
        my( $av, $beg, $end )= @_;
    ...
            }
        }
    }
    
  2. or download this
    sub uniqmergesort {
        my( $av, $beg, $end )= @_;
    ...
        return 0;
        #^^^^^^^^
    }
    
  3. or download this
    sub merge {
        my( $av, $a, $b, $c, $d )= @_;
    ...
        @$av[$beg..$end]= @$av[ @i, $a..$b, $c..$d ];
        return $d-$end;
    }
    
  4. 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
    
  5. 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---|
    
  6. or download this
    (...done...) b p a p p (...to-do...)
                |write|