Advertisement
Guest User

Untitled

a guest
May 4th, 2016
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.38 KB | None | 0 0
  1.  
  2. void merge(int vet[], int ini, int mid, int fim) {
  3.   static int left[MAX_N+1], right[MAX_N+1];
  4.   memcpy(left , &vet[  ini], sizeof(int)*(mid-ini+1));
  5.   memcpy(right, &vet[mid+1], sizeof(int)*(  fim-mid));
  6.   left [mid-ini+1] = MAX_INT;
  7.   right[  fim-mid] = MAX_INT;
  8.   for (int i = ini, j = 0, k = 0; i <= fim; i++) {
  9.     vet[i] = (left[j] <= right[k] ? left[j++] : right[k++]);
  10.   }
  11. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement