Algoritmo MergeSort para ordenar números usando la estrategia de divide y conquista
JAVA:
-
public class MergeSortV2 {
-
-
/**
-
* @param args
-
*/
-
static void Merge(int A[],int p, int q, int r)
-
{
-
int n1 = q-p+1;
-
int n2 = r-q;
-
int L[] = new int[n1+2];
-
int R[] = new int[n2+2];
-
for(int i = 1; i <= n1; i++)
-
{
-
L[i] = A[p+i-1];
-
}
-
for(int j = 1; j <= n2; j++)
-
{
-
R[j] = A[q+j];
-
}
-
int i = 1;
-
int j = 1;
-
for(int k = p; k <= r; k++)
-
{
-
if(L[i] <R[j])
-
{
-
A[k] = L[i];
-
i++;
-
}
-
else
-
{
-
A[k] = R[j];
-
j++;
-
}
-
}
-
}
-
static void MergeSort(int A[],int p, int r)
-
{
-
if(p<r)
-
{
-
int q = (p+r)/2;
-
MergeSort(A, p, q);
-
MergeSort(A, q+1, r);
-
Merge(A, p, q, r);
-
-
}
-
}
-
// TODO Auto-generated method stub
-
-
int arr[] = {6,23,33,1,5,77};
-
MergeSort(arr,1,5);
-
for(int i = 0; i <6; i++)
-
{
-
}
-
}
-
-
}
Popularidad: 74%

