Tareas

Páginas: 3 (583 palabras) Publicado: 20 de julio de 2011
function mergesort(array A[x..y])
begin
if (x-y > 1)):
array A1 := mergesort(A[x..(int( x+y / 2))])
array A2 :=mergesort(A[int(1+(x+y / 2))..y])
return merge(A1, A2)
else:
return A
end

functionmerge(array A1[0..n1], array A2[0..n2])
begin
integer p1 := 0
integer p2 := 0
array R[0..(n1 + n2 + 2)]//suponiendo que n1 y n2 sonlas posiciones
//del array y no el length de este mismo, de otro modo seria (n1 + n2)
while (p1 <= n1 or p2 <= n2):
if (p1 <= n1 andA1[p1] <= A2[p2]):
R[p1 + p2] := A1[p1]
p1 := p1 + 1

else
if (p2 <= n2 andA1[p1] > A2[p2]):
R[p1 + p2] := A2[p2]
p2 := p2 + 1
return R
end

void mezclar(int arreglo1[], int n1, intarreglo2[], int n2, int arreglo3[])
{
int x1=0, x2=0, x3=0;

while (x1<n1 && x2<n2) {
if (arreglo1[x1]<arreglo2[x2]) {
arreglo3[x3] = arreglo1[x1];x1++;
} else {
arreglo3[x3] = arreglo2[x2];
x2++;
}
x3++;
}
while (x1<n1) {
arreglo3[x3] = arreglo1[x1];x1++;
x3++;
}
while (x2<n2) {
arreglo3[x3] = arreglo2[x2];
x2++;
x3++;
}
}

void mezcla(int vector[], int n)
{
int *vector1, *vector2,n1, n2,x,y;
if (n>1)
{
if (n%2 == 0)
n1=n2=(int) n / 2;
else
{
n1=(int) n / 2;n2=n1+1;
}
vector1=(int *)...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Tareas tareas y mas tareas
  • tareas tareas
  • Taran Taran
  • tareas tareas
  • Tareas Y Tareas
  • Mis tareas...Tus tareas
  • Tareas de Tareas
  • Tareas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS