Triple State Quicksort
I have come up with a modification to the very popular Quicksort algorithm, which I call “Triple State Quicksort”. The new algorithm reduces the number of swaps to about two thirds (2/3) of classical Quicksort. A multitude of other improvements are implemented. Test results against the std::sort() function shows an average of 43% improvement in speed throughout various input array types. It does this by trading space for performance at the price of n/2 temporary extra spaces. The extra space is allocated automatically and efficiently in a way that reduces memory fragmentation and optimizes performance.
Details are in my paper, in Cornell University Library here: http://arxiv.org/abs/1505.00558
Or you can check also my post a Microsoft forums here
You can also find the full working code of the algorithm here: http://solostuff.net/tsqsort/