Вы находитесь на странице: 1из 7

Mergesort

PSEUDOCDIGO mtodo MergeSort(arreglo) //Primero se procede a dividir el arreglo, pero esto slo ser necesario cuando l tenga mnimo 2 elementos: si(arreglo tiene ms de 1 elemento) //Se hacen llamadas recursivas para dividir la primera y segunda mitad del arreglo . MergeSort(primera mitad del arreglo) MergeSort(segunda mitad del arreglo) //Se combinan las mitades Merge(mitad 1, mitad 2) fin (si) fin MergeSort

Mergesort
mtodo Merge(arreglo1, arreglo2)

//Se define un nuevo arreglo en el cual se almacenar la mezcla de los arreglos. define arregloMezcla //se inicializan 3 enteros que controlen la posicin en los arreglos 1, 2 y mezcla. i1, i2, i3 inicializados en 0
//Se empezar el proceso de mezcla y para ello habr que recorrer ambos arreglos. mientras(no se haya terminado de recorrer ningn arreglo)

Mergesort
/* A continuacin se compararn los datos de los arreglos 1 y 2 y se coloca en el arreglo de mezcla el dato menor. Si los datos son iguales, se colocar el dato del primer arreglo para garantizar la estabilidad del algoritmo (que no se intercambien elementos de igual valor) */ if (arreglo1[i1] == arreglo2[i2]) arregloMezcla[i3] = arreglo1[i1] incrementar i1, i3 fin (if) if (arreglo1[i1] < arreglo2[i2]) arregloMezcla[i3] = arreglo1[i1] incrementar i1, i3 fin (if)

Mergesort
if (arreglo1[i1] > arreglo2[i2]) arregloMezcla[i3] = arreglo1[i2] incrementar i2, i3 fin (if) Almacenar en arregloMezcla los elementos que no hayan sido almacenados an del arreglo 1 o 2 fin (while) fin (Merge)

Mergesort
Codigo #include<stdio.h> #include<stdlib.h> int i, j, ia, ib ,inicio , fin ,medio , a[10],c[10],ic, tam ; void sort(int , int ); void mergeArray (int , int, int ) ; main() { printf("entre numeros (10)\n"); for (i=0;i<10;i++) scanf ("%d", &a[i]); inicio=0;fin=9; sort(inicio,fin);

Mergesort
printf("array ordenado \n"); for(i=0;i<10;i++) { printf(" %d\n", a[i]); } void sort(int inicio, int fin) { int medio; if(inicio == fin) return; medio=(inicio+fin)/2; sort(inicio,medio); sort(medio+1,fin); mergeArray(inicio,medio,fin); }

Mergesort
void mergeArray(int inicio,int medio,int fin) { ia=inicio,ib=medio+1,ic=0; tam = fin-inicio+1; while(ia<=medio && ib<=fin){ if(a[ia]<a[ib]) c[ic++]=a[ia++]; else c[ic++]=a[ib++]; } while(ia<=medio) c[ic++]=a[ia++]; while(ib<=fin) c[ic++]=a[ib++]; for( i=0; i<tam; i++) a[inicio+i]=c[i]; }

Вам также может понравиться

  • Adonai - Anatomia de Un Contacto Moises
    Adonai - Anatomia de Un Contacto Moises
    Документ32 страницы
    Adonai - Anatomia de Un Contacto Moises
    violett1111
    Оценок пока нет
  • Prueba de Hipótesis
    Prueba de Hipótesis
    Документ17 страниц
    Prueba de Hipótesis
    Alberto Jimenez Miguel
    Оценок пока нет
  • T Student
    T Student
    Документ4 страницы
    T Student
    Alberto Jimenez Miguel
    Оценок пока нет
  • Access Point
    Access Point
    Документ5 страниц
    Access Point
    Alberto Jimenez Miguel
    Оценок пока нет
  • Taller RNA
    Taller RNA
    Документ20 страниц
    Taller RNA
    Alberto Jimenez Miguel
    Оценок пока нет
  • DHCP
    DHCP
    Документ9 страниц
    DHCP
    Alberto Jimenez Miguel
    Оценок пока нет
  • La Semilla Del Demonio
    La Semilla Del Demonio
    Документ120 страниц
    La Semilla Del Demonio
    Alberto Jimenez Miguel
    Оценок пока нет
  • Fallaci Oriana - Carta A Un Nino Que Nunca Nacio (1975)
    Fallaci Oriana - Carta A Un Nino Que Nunca Nacio (1975)
    Документ37 страниц
    Fallaci Oriana - Carta A Un Nino Que Nunca Nacio (1975)
    aflorarte
    Оценок пока нет
  • III Unidad Flash2
    III Unidad Flash2
    Документ129 страниц
    III Unidad Flash2
    Alberto Jimenez Miguel
    Оценок пока нет
  • Conta Bili Dad
    Conta Bili Dad
    Документ7 страниц
    Conta Bili Dad
    Alberto Jimenez Miguel
    Оценок пока нет
  • Tarea 1
    Tarea 1
    Документ4 страницы
    Tarea 1
    Alberto Jimenez Miguel
    Оценок пока нет
  • Constructor Es
    Constructor Es
    Документ4 страницы
    Constructor Es
    Alberto Jimenez Miguel
    Оценок пока нет
  • Manual Proyecto
    Manual Proyecto
    Документ5 страниц
    Manual Proyecto
    Alberto Jimenez Miguel
    Оценок пока нет
  • Ejercicios Tarea
    Ejercicios Tarea
    Документ9 страниц
    Ejercicios Tarea
    Alberto Jimenez Miguel
    0% (1)
  • Modelos Teóricos
    Modelos Teóricos
    Документ0 страниц
    Modelos Teóricos
    Alberto Jimenez Miguel
    Оценок пока нет
  • Luz Nocturna
    Luz Nocturna
    Документ5 страниц
    Luz Nocturna
    Gabs Carrizales
    Оценок пока нет
  • 1 - Sistemas Matrices y Det
    1 - Sistemas Matrices y Det
    Документ21 страница
    1 - Sistemas Matrices y Det
    Alberto Jimenez Miguel
    Оценок пока нет
  • Contrato Licencia
    Contrato Licencia
    Документ5 страниц
    Contrato Licencia
    Alberto Jimenez Miguel
    Оценок пока нет
  • L3 Adoracion de Miguel
    L3 Adoracion de Miguel
    Документ12 страниц
    L3 Adoracion de Miguel
    Alberto Jimenez Miguel
    Оценок пока нет
  • Presentacion
    Presentacion
    Документ22 страницы
    Presentacion
    Alberto Jimenez Miguel
    Оценок пока нет
  • Patent Es
    Patent Es
    Документ21 страница
    Patent Es
    Alberto Jimenez Miguel
    Оценок пока нет
  • Cuestionario Exam
    Cuestionario Exam
    Документ2 страницы
    Cuestionario Exam
    Alberto Jimenez Miguel
    Оценок пока нет
  • Soy Cadáver de Tu Cementerio
    Soy Cadáver de Tu Cementerio
    Документ1 страница
    Soy Cadáver de Tu Cementerio
    Alberto Jimenez Miguel
    Оценок пока нет
  • Induccion Matematica Ejercicios Resueltos
    Induccion Matematica Ejercicios Resueltos
    Документ25 страниц
    Induccion Matematica Ejercicios Resueltos
    Carito Rnr
    0% (1)
  • Readme
    Readme
    Документ1 страница
    Readme
    sport0378
    Оценок пока нет