There's all sorts of sorts over at my forums, archived:
https://qb64.freeforums.net/thread/97/huge-sort-routineSUB CountSortedReps (Array() AS DOUBLE, start&, finish&)
SUB FlashSort (Array() AS DOUBLE, start AS LONG, finish AS LONG, order&)
SUB InsertionSort (Array() AS DOUBLE, start&, finish&, order&)
SUB ShellSort (Array() AS DOUBLE, start&, finish&, order&)
SUB ShellSortBidirectional (Array() AS DOUBLE, start&, finish&, order&)
SUB QuickSortRecursive (Array() AS DOUBLE, start&, finish&, order&)
SUB QuickSortIterative (Array() AS DOUBLE, Start&, Finish&, order&)
SUB QuickSortDualPivot (Array() AS DOUBLE, start&, finish&, order&)
SUB mergeSort (Array() AS DOUBLE, start&, finish&, order&)
SUB bubblesort (Array() AS DOUBLE, start&, finish&, order&)
SUB CocktailSort (Array() AS DOUBLE, start&, finish&, order&)
SUB InsertionSortBinary (Array() AS DOUBLE, start&, finish&, order&)
SUB BucketSort (Array() AS DOUBLE, start&, finish&, order&)
SUB InsertionSortx (Array() AS DOUBLE, start&, finish&, order&)
SUB HeapSort (Array() AS DOUBLE, Start&, Finish&, order&)
SUB IntroSort (Array() AS DOUBLE, start&, finish&, order&)
SUB QuickSortIJ (Array() AS DOUBLE, start&, finish&, i&, j&, order&)
SUB flashSORTType (Array() AS FlashRec, start AS LONG, finish AS LONG, order&)
SUB primeGapSort2 (Array() AS DOUBLE, start&, finish&, order&)
SUB CombSort (Array() AS DOUBLE, start&, finish&, order&)
SUB SelectionSort (array() AS DOUBLE, start&, finish&, order&)
SUB cycleSort (array() AS DOUBLE, start&, finish&, order&)
SUB shellSortMetzler (array() AS DOUBLE, start&, finish&, order&)
SUB PrimeGapSort (array() AS DOUBLE, start&, finish&, order&)
SUB PostSort (array() AS DOUBLE, start&, finish&, order&)
SUB HashListSort (array() AS DOUBLE, start AS LONG, Finish AS LONG, order&)
SUB RadixSort (a() AS DOUBLE, start&, finish&, order&)
SUB BatcherOddEvenMergeSort (Array() AS DOUBLE, Start&, Finish&)
SUB SinglePassShellSort (array() AS DOUBLE, start&, finish&, order&)
SUB BitonicSort (a() AS DOUBLE, lo&, n&, dir&)
SUB SnakeSort (Array() AS DOUBLE, start&, finish&, order&)
SUB JoinSort (Array() AS DOUBLE, start&, finish&, order&)
SUB QSortRecursiveSimplified (array() AS DOUBLE, start&, finish&)
SUB SmoothSort (TypedArray() AS DataElement)
SUB QuickSortIterativeMedianOf3 (Array() AS DOUBLE, Start&, Finish&, order&)
And you can find my handy dandy MemSort here:
https://www.qb64.org/forum/index.php?topic=1601.msg114392