English

Triple State QuickSort, A replacement for the C/C++ library qsort

Data Structures and Algorithms 2015-05-12 v2 Performance

Abstract

An industrial grade Quicksort function along with its new algorithm is presented. Compared to 4 other well known implementations of Quicksort, the new algorithm reduces both the number of comparisons and swaps in most cases while staying close to the best of the 4 in worst cases. We trade space for performance, at the price of n/2 temporary extra spaces in the worst case. Run time tests reveal an overall improvement of at least 15.8% compared to the overall best of the other 4 functions. Furthermore, our function scores a 32.7% run time improvement against Yaroslavskiy's new Dual Pivot Quicksort. Our function is pointer based, which is meant as a replacement for the C/C++ library qsort(). But we also provide an array based function of the same algorithm for easy porting to different programming languages.

Keywords

Cite

@article{arxiv.1505.00558,
  title  = {Triple State QuickSort, A replacement for the C/C++ library qsort},
  author = {Ammar Muqaddas},
  journal= {arXiv preprint arXiv:1505.00558},
  year   = {2015}
}

Comments

31 pages, 49 Figures. Minor fix in page 15 and a typo

R2 v1 2026-06-22T09:27:30.518Z