[PATCH] manual: Remove incorrect claim that qsort() can be stabilized

Alfred M. Szmidt ams@gnu.org
Tue Jul 1 08:58:00 GMT 2014


   -If you want the effect of a stable sort, you can get this result by
   -writing the comparison function so that, lacking other reason
   -distinguish between two elements, it compares them by their addresses.
   -Note that doing this may make the sorting algorithm less efficient, so
   -do it only if necessary.
   +Previous versions of this manual incorrectly claimed that you can get
   +the effect of a stable sort by writing the comparison function to
   +compare the element addresses as a last resort.  This does not work
   +because, under certain conditions, @var{qsort} falls back to an in-place
   +algorithm that compares some elements after moving them around in
   +memory.  The only way to perform a stable sort with @var{qsort} is to
   +first augment the objects with a monotonic counter of some kind.

Personally, I think this blurb should be put in the NEWS file not
here.  To some extent it is a user-visible change.



More information about the Libc-alpha mailing list