Apx: In-place Merge Sort

Due the allocation nature of merge sort, and the absence of a holy grail sorting algorithm. Quick Sort still had long been seen as the most and only optimal sorting algorithm.
However, does the story necessary had to end like that π€?
If we think about it, the last missing step of being able to come up with an in-place merge sort. Is for us to find a function that could merge 2 sorted ranged from an array in-place.
Meanwhile, if we were to do some additional time researching, the best thing we have is std::ranges::inplace_merge in C++. Which still only operates in time.
For future self, here were all the references I've gathered for this particular topic. (in-place merge sort/efficient in-place merge)
StackOverflow: Post which claimed to have implemented , range merging.
StackOverflow: How to sort in-place using the merge sort algorithm
StackExchange: Worst case π(π log π) in place stable sort?
StackOverflow: Stable and in-place sorting algorithm?
StackOverflow: Regarding in-place merge in an array
StackOverflow: Quicksort vs. In-place Merge Sort
Fast forward in time, as for 2024. There had now been several practical algorithm that can achieve , as well as being stable.
Several new algorithms were now being regarded as the Block Merge Sort Family, Wiki Sort, Grail Sort and Block Sort itself now being seen as a new generation of space & time efficient sorting algorithms.
Notable References
GitHub: BonzaiThePenguin/WikiSort
Rust: Unallocating stable sort
GitHub: Use grailsort for sort_unstable
Last updated