/sayhisort

Primary LanguageC++Creative Commons Zero v1.0 UniversalCC0-1.0

SayhiSort

Block merge sort implementation inspired by GrailSort. It's in-place, stable and runs in O(N log(N)) wort-case time complexity.

The implementation is purely swap-based. So items nither default-constructible nor move-constructible are allowed, as long as they are swappable.

Its name derives from GrailSort, in honor of its auhor Andrey Astrelin rest in peace. Pronunciation of “say hi” sounds like the Japanse word 「聖杯(せいはい)」, which means grail.

TODO: benchmark

TODO: overflow resistance test by using 16bit index iterator. Its carefully written to avoid any overflow. Should be tested.

Similar projects