### Merge Sort - C Program

 `#include/*This is called Forward declaration of function */void Merge(int * , int , int , int );/* Logic: This is an example of a divide and conquer algorithm. This works as follows.         (1) Divide the input which we have to sort into two parts, partitioning it in the middle. Call them the left part              and right part.             Example: Let's say the input is  -10 32 45 -78 91 1 0 -16 : Then the left part will be               -10 32 45 -78 and the right part will be  91 1 0 6.         (2) Sort Each of them desperately. Note that here sort does not mean to sort it using some other             method. We already wrote function to sort it. Use the same function recursively.         (3) Then merge the two sorted parts.*//*This function Sorts the array in the range [left,right].That is from index left to index right inclusive */void MergeSort(int *array, int left, int right){        int mid = (left+right)/2;        /* We have to sort only when left