ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Ordenamiento Burbuja


Enviado por   •  15 de Octubre de 2021  •  Informe  •  3.264 Palabras (14 Páginas)  •  58 Visitas

Página 1 de 14

Ordenamiento Burbuja

package estructura1;

public class AlgoritmoBurbuja {

        public static void main (String[] args) {

                int [] A= {7,3,5,2,5,6,10};

         for (int i=0; i<A.length-1;) {

         for (int j=i+1; j<A.length ;j++ ) {

                 if (A[j]<A[i]) {

                         int temp=A[i];

                         A[i]=A[j];

                         A[j]= temp;                

                 }

         }

         }

         for (int i:A) {

                 System.out.println("["+i+"]");

         }

                 

        }

}

Ordenamiento de insercion

package estructura1;

public class AlgoritmoInsercion {

        public static void main (String [] args) {

                int [] A = {10,3,4,7,9,15};

                for(int i=1 ; i<A.length ; i++) {

                int tmp = A[i];

                int j = i-1;

                while(j>=0 && A[j] > tmp) {

                        j= j-1;

                        

                }

                A[j+1]=tmp;

                }

                for(int i : A) {

                        System.out.println(i);

                }

                

        }

        

}

Ordenamiento de mezcla

[MERGESORT]

package estructura1;

public class AlgoritmoMergeSort {

        public static void main(String args[]){

                int vec[]={45,17,23,67,21};

               

                imprimirVector(vec);

                System.out.println(":");

                ordenacionMergeSort(vec);

                imprimirVector(vec);     }    

        public static void ordenacionMergeSort(int vec[]){

                if(vec.length<=1) return;

                int mitad= vec.length/2;

                int izq[]=Arrays.copyOfRange(vec, 0, mitad);

                int der[]=Arrays.copyOfRange(vec, mitad, vec.length);

                ordenacionMergeSort(izq);

                ordenacionMergeSort(der);      

                combinarVector(vec, izq, der);

        }

       

        public static void combinarVector(int v[], int izq[],int der[]){

                int i=0;

                int j=0;

                for(int k=0;k<v.length;k++){

                        if(i>=izq.length){

                                v[k]=der[j];

                                j++;

                                continue; }

                        if(j>=der.length){

                                v[k]=izq[i];

                                i++;

                                continue; }

                        if(izq[i]<der[j]){

                                v[k]=izq[i];

                                i++;

                        }else{

                                v[k]=der[j];

                                j++;

                        }

        }

        }

         public static void imprimirVector(int vec[]){

                for(int i=0;i<vec.length;i++){

                        System.out.print(vec[i]+" ");

        }

        }

       

}

[IMPLEMENTACION]

        public static void ordenacionMergeSort(int vec[]){

        if(vec.length<=1)

                

                return;

        int mitad= vec.length/2;

        int izq[]=Arrays.copyOfRange(vec, 0, mitad);

        int der[]=Arrays.copyOfRange(vec, mitad, vec.length);

        ordenacionMergeSort(izq);

        ordenacionMergeSort(der);      

        combinar(vec, izq, der);

}

public static void combinar(int v[], int izq[],int der[]){

        int i=0;

        int j=0;

        for(int k=0;k<v.length;k++){

                if(i>=izq.length){

                        v[k]=der[j];

                        j++;

                        continue;

                }

                if(j>=der.length){

                        v[k]=izq[i];

                        i++;

                        continue;

                }

                if(izq[i]<der[j]){

                        v[k]=izq[i];

                        i++;

                }else{

                        v[k]=der[j];

                        j++;

                }

        }

}        

}        

Metodo shell

public static void OrdenaShell(int [] array){

...

Descargar como (para miembros actualizados) txt (7 Kb) pdf (40 Kb) docx (10 Kb)
Leer 13 páginas más »
Disponible sólo en Clubensayos.com