Kuth’s Merge Sort in C

Taken from Knuth Algorithm S mergesort P162-163 Vol 3 Second edition 1998 The major change is that the scratch buffer is not required to be adjacent and there are some changes because C array indexing usually starts with 0.  This