there is nonrecursive version of array-based merge-sortwhich runs in ( log ntime it is bit faster than recursive list-based merge-sort in practiceas it avoids the extra overheads of recursive calls and node creation the main idea is to perform merge-sort bottom-upperforming the merges level-by-level going up the merge-sort tree given an input array of elementswe begin by merging every odd-even pair of elements into sorted runs of length two we merge these runs into runs of length fourmerge these new runs into runs of length eightand so onuntil the array is sorted to keep the space usage reasonablewe deploy an output array that stores the merged runs (swapping input and output arrays after each iterationwe give java implementation in code fragment where we use the built-in method system arraycopy to copy range of cells between two arrays code fragment an implementation of the nonrecursive merge-sort algorithm