I have an algorithms library called NDex. I am in the process of upgrading it to a new version. Part of this upgrade involves providing two versions of many algorithms: an in-place version and a version that copies the results to a destination list.
I will be providing two sort variations: quick sort and merge sort. The merge sort is stable.
I am curious whether quick sort is better than, say, heap sort when copying items to a new list.
Merge sort uses a buffer internally. I am curious when doing a merge sort whether I can double up the destination as the buffer.
I was hoping someone could give me some advice or point me to some useful material.