Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/05/2010, 16:50
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 9 meses
Puntos: 228
Respuesta: mergesort errores

te paso esta funcion merge hecha por mi. Fiajte si funciona con esa...
Código C:
Ver original
  1. void merge(int *a, int l, int r, int n)
  2. {
  3.     int n1 = n-l+1, n2 = r-n, i,j,k;
  4.     int  b[n-l+2], c[r-n+1];
  5.     int t;
  6.     b[n1] = c[n2] = 2147483647;
  7.  
  8.     for(i=0;i<n1;i++) b[i] = a[l+i];
  9.     for(i=0;i<n2;i++) c[i] = a[n+1+i];
  10.     i = j =  0;
  11.  
  12.     for(k=l;k<=r;k++){
  13.         if (b[i] <= c[j])
  14.             a[k] = b[i++];
  15.         else
  16.             a[k] = c[j++];
  17.     }
  18.     return;
  19. }