Quick sort with Dijkstra 3-way partitioning