Proving that Android’s, Java’s and Python’s sorting algorithm is broken
I'm surprised that modern implementations don't use something like quicksort, since it has linear space requirements (sorts in-place) and good constants on average for its n*log2(n) running time.