#include #include void printArray(int arr[], int size){ int i; for(i = 0; i < size; i++){ printf("%d ", arr[i]); printf("\n"); }; }; // arr being the array to be sorted, start, mid and end the indexes // of the array to be subdivided at void merge(int arr[], int start, int mid, int end){ // initial indexes int i, j, k; // size of temp arrays int lengthl = mid - 1 + 1; int lengthr = end - mid; // temp arrays int left[lengthl]; int right[lengthr]; // populate the temporary arrays for(i=0; i