[prev] 58 [next]

Mergesort Implementation

Mergesort function:

void mergesort(Item a[], int lo, int hi)
{
   int mid = (lo+hi)/2; // mid point
   if (hi <= lo) return;
   mergesort(a, lo, mid);
   mergesort(a, mid+1, hi);
   merge(a, lo, mid, hi);
}

Example of use (typedef int Item):

int nums[10] = {32,45,17,22,94,78,64,25,55,42};
mergesort(nums, 0, 9);