An implementation of a bottom-up Merge Sort in C++