Aclaro una cosa es el metodo mas simple de ordenamiento pero no es el mas eficaz con esto digo que hay veces que te pueda fallar ya que sirve mas para entender como es el ordenamiento.
Para ordenar un arreglo de forma mas eficaz esta el quick short que por asi decirlo es demasiado mas complicado. Es por ello que primero veamos esta forma para entender luego el otro.
Usamos Frame para mostrar pero si ven el metodo ordenamBurbuja( arreglo ) que es que lo hace lo podran adaptar a consola.
import java.awt.Container; import javax.swing.JFrame; import javax.swing.JTextArea; /** * * @author JONATHAN PALOMINO VILCA */ public class Burbuja1 extends JFrame{ public Burbuja1() { setSize(400, 300); setLocation(300, 300); setDefaultCloseOperation(EXIT_ON_CLOSE); JTextArea areaSalida = new JTextArea(); Container contenedor = getContentPane(); contenedor.add(areaSalida); int arreglo[] = {2, 6, 4, 8, 10, 12, 89, 68, 45, 37}; String salida = "Elementos de datos en su orden original\n"; // anexar los valores originales al String salida for (int contador = 0; contador < arreglo.length; contador++) { salida += " " + arreglo[ contador]; } ordenamBurbuja(arreglo); // ordenar arreglo salida += "\n\nElementos de datos en orden ascendente\n"; // anexar los valores ordenados del arreglo al String salida for (int contador = 0; contador < arreglo.length; contador++) { salida += " " + arreglo[ contador]; } areaSalida.setText(salida); } // ordenar elementos del arreglo con el método burbuja public void ordenamBurbuja(int arreglo2[]) { // ciclo para controlar número de pasadas for (int pasada = 1; pasada < arreglo2.length; pasada++) { // ciclo para controlar número de comparaciones for (int elemento = 0; elemento < arreglo2.length - 1; elemento++) { // comparar elementos uno a uno e intercambiarlos si // el primer elemento es mayor que el segundo if (arreglo2[ elemento] > arreglo2[ elemento + 1]) { intercambiar(arreglo2, elemento, elemento + 1); } } // fin del ciclo para controlar las comparaciones } // fin del ciclo para controlar las pasadas } // fin del método ordenamBurbuja // intercambiar dos elementos de un arreglo public void intercambiar(int arreglo3[], int primero, int segundo) { int almacen; // área temporal de almacenamiento para intercambiar almacen = arreglo3[ primero]; arreglo3[ primero] = arreglo3[ segundo]; arreglo3[ segundo] = almacen; } public static void main(String[] args) { Burbuja1 obj = new Burbuja1(); obj.show(); } } // fin de la clase OrdenamBurbuja
Link del proyecto = http://www.mediafire.com/?yhzdmzuyymz
No hay comentarios:
Publicar un comentario