Para fins de teste, optamos por criar módulos separados para a operação de mesclagem e a a operação de ordenação:
merge.h
emerge.c
: operação de mesclagemmerge_sort.h
emerge_sort.c
: operação de ordenação
O arquivo merge_sort.c
contém duas versões do algoritmo mergesort:
mergesortRecur
: versão recursiva (top-down)mergesortIter
: versão iterativa (bottom-up)