Implementação do Merge Sort sem o uso de memoria extra.
Diferente do Merge Sort padrão que compara dois elementos e insere o menor no array, o Merge sort in-place utiliza a tecnica de ponteiros, onde a ordenação é feita em blocos que vai do leftPointer até o rightPointer, e caso o elemento do leftPointer seja maior que o elemento do rightPointer, todos os elementos andam uma posição e o elemento do rightPointer assume a posição do leftPointer.