Boost logo

Boost :

From: Lewis Hyatt (lhyatt_at_[hidden])
Date: 2007-03-16 17:49:44


Sam Schetterer <samthecppman <at> gmail.com> writes:

>
> Has anyone downloaded the sorting lbirary from vault? If you have, could you
> post any changes that you would like to be made or any errors in the
> library?
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
>
>

I took a look at it. Some of my thoughts:

-You should provide random access iterator interfaces, not just a bare pointer.

-Your docs say you require T to be an integral type or have operator< defined, I
think you meant to say "built-in arithmetic type" or something similar. You
should also let the user provide their own comparison functor instead of
requiring them to overload operator<

-Based on your descriptions, it looks like merge_sort is the same as
std::stable_sort and quicksort is the same as std::sort, more or less. (Except
the standard functions have more generic interfaces). What advantage are they
supposed to have over the standard functions? I tried some timings, and found
that for both ints and doubles, on my system, your quicksort is about 50% slower
than std::sort, and your mergesort is about 5% faster than std::stable_sort, at
least for the case of already-sorted data.

-It might make more sense to focus on radix sort, since that is not already
offered in the standard library...

-Lewis


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk