JBontes / FastCode

Fast replacements for Embarcadero's standard libs
57 stars 18 forks source link

DualPivotQuicksort problem #3

Open adem0x opened 8 years ago

adem0x commented 8 years ago

I am not going to claim to understand DPQS (DualPivotQuicksort) algorihm nor the implementation.

All I did was to convert the generic parts to straight forward Cardinal types --so that I could use it in older versions of Delphi.

And, before comparing speeds with the usual QuickSort, I thought I might just test whether DPQS does actually sort things the way it is supposed to.

So, I checked it against QuickSort, BubbleSort and --as well as-- a known-to-be-good presorted array; and it seems DPQS has a problem.

Now.. I am pretty sure I haven't made any typos during generic-to-realtype conversion.

I have enclosed a very small project (just sources); could you please look at it and see what's wrong.

QuickSortUnit.pas.txt QuickSortDemo.dpr.txt QuickSortUnit.dfm.txt