Anda di halaman 1dari 2

package metodosdeordenamiento;

public class metodosDeOrdenamiento {

int i, j, k, temporal, pasadas;

public metodosDeOrdenamiento() {
this.i = 0;
this.j = 0;
this.temporal = 0;
}

public void burbuja1(int[] arreglo) {


pasadas = 0;
for (i = 0; i < arreglo.length; i++) {
for (j = i + 1; j < arreglo.length; j++) {
if (arreglo[i] > arreglo[j]) {
temporal = arreglo[i];
arreglo[i] = arreglo[j];
arreglo[j] = temporal;
}
pasadas++;
}
}
System.out.println("Termino en " + pasadas + " Pasadas");
}

/*
Integrantes: Damaris Gonzalez, Armando Peinado y Alexis Hernandez
ORDENAMIENTO EXTERNO
Metodo I N T E R C A L A C I O N
*/
//recibe de parametro 2 arreglos
public void intercalacion(int [] arregloA, int [] arregloB){
//intercalacion ordena en un 3er vector resultante dos vectores o 2 listas
ya ordenados con anterioridad
//esto seria el aregloA y arregloB ya van a recibirse ordenadamente
int i, j ,k;//creamos nuestras variables
int arregloC[] = new int[arregloA.length + arregloB.length];//creamos un
arreglo va a ser del tamanio que tenga arregloA+ el tamanio que tenga el arregloB
//este vectore
resultante sera del tamani que tenga el arregloA + el tamanio que tenga el arregloB
//Repetir mientras los arreglos A y B tengan elementos que comparar
for(i = j = k = 0; i<arregloA.length && j<arregloB.length; k++)
{//inicializamos i,j y k en 0. Va a terminar cuando i<arregloA.length y ademas
cuando j<arregloB.length
//Esta
sera la finalizacion de condicion del ciclo,...solo se incrementara a K
//el
aregloA utilizara el indice i
//el
aregloB utilizara el indice j
//el
aregloB utilizara el indice k
//Haremos un condicionante
if(arregloA[i] < arregloB[j]){//veremos si lo que hay en el arregloA en la
posicion [i] es menor para lo que hay en el arregloB indice[j] Si resulta verdad
tenemos que pasar lo que hay en el arregloA en el C
arregloC[k] = arregloA[i];
i++;//en caso de que sea correcto el indice que se recorre seria el i y
se incrementa
}else{//si no es menor, pasar arregloB al arregloC
arregloC[k] = arregloB[j];
j++;//logicamente incrementamos al indice j del arregloB
}
}
//Para anadir a arregloC los elementos del arregloA sobrantes en caso de haberlo
for(;i<arregloA.length;i++, k++){//si se quedaron elementos en arregloA
seguramente el indice i se quedo en algun lugar y si ponemos i=0 es un error
//el indice i no lo inicializas, lo dejas donde se quedo simplemente
se pone ";"
//despues ahora si le ponemos el condicionante osea el tope, el final
hasta que i sea menor a arregloA
arregloC[k] = arregloA[i];
}
//Para anadir a arregloC los elementos del arregloB sobrantes en caso de haberlo
for(;j<arregloB.length;j++, k++){//si se quedaron elementos en arregloA
seguramente el indice i se quedo en algun lugar y si ponemos i=0 es un error
//el indice i no lo inicializas, lo dejas donde se quedo simplemente
se pone ";"
//despues ahora si le ponemos el condicionante osea el tope, el final
hasta que i sea menor a arregloA
arregloC[k] = arregloB[j];
}

System.out.println("Arreglos ordenados por Intercalacin");


mostrarArreglo(arregloC);
}
//Mostrar los datos del vactor
public void mostrarArreglo(int [] arreglo){
int k;
for(k=0;k<arreglo.length;k++){
System.out.print("["+arreglo[k]+"]");
}
System.out.println();
}

Anda mungkin juga menyukai