Metodos de ordenacion vectores (español)

import java.io.*; public class MetodosOrdenacion { //Metodo main. public static void main (String [] args) throws IOException{ BufferedReader bf = new BufferedReader (new InputStreamReader(System.in)); //creacion de vector de 5 componentes, pudiendo ser modificado el numero segun necesidades. int [] nums = new int [5]; //Metodo LlenarVector, llena el vector dado con numeros aleatorios. LlenarVector(nums); //Menu para la eleccion de metodo de ordenacion. String cad; int resp; do{ System.out.println("Introduce la respuesta"); System.out.println("1. Ordenar por el metodo de la baraja. \n" + "2. Ordenar por el metodo de seleccion directa. \n" + "3. Ordenar por el metodo de la burbuja. \n" + "4. Ordenar por el metodo de la burbuja 2."); cad = bf.readLine(); resp = Integer.parseInt(cad); }while(resp < 1 || resp > 4); switch (resp) { case 1: MetodoDeLaBaraja(nums); break; case 2: SeleccionDirecta(nums); break; case 3: MetodoDeLaBurbuja(nums); break; case 4: MetodoDeLaBurbuja2(nums); break; } //Fin de menu para la eleccion de metodo de ordenacion. //Metodo para mostrar los componentes por pantalla. System.out.println("\n·Resultado final:"); MostrarVector(nums); }//Fin de metodo Main. //Metodo de la baraja para la ordenacion del vector. public static void MetodoDeLaBaraja (int[]V){ System.out.println("·Metodo de la Baraja. \n" + "·Paso a paso:"); for (int i = 1; i < V.length; i++) { int aux = V [i]; int j = i-1; while (j > 0 && V[j] > aux) { V[j+1] = V[j]; j = j-1; } if(V[j] > aux){ V[j+1] = V[j]; V[j] = aux; }else{ V[j+1] = aux; } System.out.println("Vuelta numero: "+ i); MostrarVector(V); } } //Metodo de seleccion directa para la ordenacion del vector. public static void SeleccionDirecta(int[]V){ System.out.println("·Metodo de Seleccion directa."); for (int i = 0; i < V.length-1; i++) { int k = i; int aux = V[i]; for (int j = i+1; j < V.length; j++) { if(V[j] < aux){ k = j; aux = V[j]; } } V[k]=V[i]; V[i]=aux; System.out.println("Vuelta numero: "+ i); MostrarVector(V); } } ////Metodo de la burbuja para la ordenacion del vector.(eficiente y rapido) public static void MetodoDeLaBurbuja(int[]V){ System.out.println("·Metodo de la burbuja."); int aux; boolean sw; for (int i = V.length-2; i >= 0; i--) { sw=true; for (int j = 0; j <= i; j++) { if (V[j] > V[j+1]) { sw=false; aux = V[j]; V[j] = V[j+1]; V[j+1] = aux; } } if(sw == true){ break; } System.out.println("Vuelta numero: "+ i); MostrarVector(V); } } //Este metodo es menos eficiente que el original de la burbuja. public static void MetodoDeLaBurbuja2(int[]V){ System.out.println("·Metodo de la burbuja 2."); int aux = 0; for (int i = 0; i < (V.length)-1; i++) { for (int j = i+1; j < V.length; j++) { if (V[i] > V[j]) { aux = V[i]; V[i]= V[j]; V[j]= aux; }//if }//for System.out.println("Vuelta numero: "+ i); MostrarVector(V); }//for } //Metodo para mostrar el vector. public static void MostrarVector(int [] V){ for (int i = 0; i < V.length; i++) { System.out.print("Componente "+i+": "+V[i]+". "); } System.out.println(); } //Metodo para llenar el vector con numeros aleatorios de 1 a 10. public static void LlenarVector(int [] V) { for (int i = 0; i < V.length; i++) { V[i] = (int)(Math.random()*10+1); } } }//Fin de la clase.
Clase en java con diferentes métodos de ordenación.

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.