DualPivotQuicksort两枢轴快速排序
普通快速排序一次把数据划分成两部分,两部分再分别递归,两枢轴,就是两个结点,把数据划分成三部分,三部分再分别递归,可参考下图 left part center part right part + --------------------------------------------------------------+ | < pivot1 | pivot1 <= && <= pivot2 | > pivot2 | + --------------------------------------------------------------+ ^ ^ | | less great 1 2 3 4 5 6 7 8 划分成三部分: l e f t p a r t : x < p 1 , c e n t e r p a r t : p 1 < = x < = p 2 , r i g h t p a r t : x > p 2 leftpart:x<p1,centerpart:p1<=x<=p2,rightpart:x>p2 程序中给的下图 /* * Partitioning: * * left part center part right part * + --------------------------------------------------------------+