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
> 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...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk