Multi-key quicksort

This hybrid of quicksort and radix sort was originally suggested by P. Shackleton, as reported in one of C.A.R.

Hoare's seminal papers on quicksort;[2]: 14  its modern incarnation was developed by Jon Bentley and Robert Sedgewick in the mid-1990s.

[3] The algorithm is designed to exploit the property that in many problems, strings tend to have shared prefixes.

[4] The three-way radix quicksort algorithm sorts an array of N (pointers to) strings in lexicographic order.

Bentley and Sedgewick suggest either picking the median of a[0][d], ..., a[length(a)−1][d] or some random character in that range.