algoritmos de ordenacion - metodo de la burbuja en java

Metodo de la burbuja en Java – Algoritmo de ordenación

Te muestro el funcionamiento del metodo de la burbuja en Java, uno de los principales algoritmos de ordenacion que existen, te muestro un video bastante explicativo del funcionamiento, otro video más de nuestro ejemplo en ejecución y por ultimo te muestro el codigo fuente del ejemplo donde podremos ordenar un arreglo de numeros de forma descendente y otro de forma ascendente.

¿Como funciona el metodo de la burbuja?

El funcionamiento del algoritmo es bastante fácil, unicamente va recorriendo los elementos del arreglo comparando si es mas grande o mas chico un elemento que el de al lado, dependiendo si queremos ordenar de forma ascendente o descendente, se realizan las cantidad de vueltas necesarias hasta tener todos los elementos ordenados.

Video del funcionamiento del metodo de la burbuja

El siguiente video de unos bailarines hungaros demuestra perfectamente el funcionamiento del algoritmo de ordenación burbuja, bastante movido 😀

Nuestro ejemplo del metodo de la burbuja en Java

Codigo fuente del metodo de la burbuja para ordenar un arreglo de numeros

Principal

Ordenar descendentemente

Ordenar ascendentemente

Cualquier duda o comentario deja tu comentario y te responderé a la brevedad.

Saludos!

Clic para valorar esta información
[Total: 0 Promedio: 0]

14 comentarios en “Metodo de la burbuja en Java – Algoritmo de ordenación”

  1. HOLA ,MEN ESTOY HACIENDO UN ORDENAMIENTOS DE UN MENU QUE CONTIENE MUCHOS METODOS, TE AGRADECERIA SI ME AYUDARAS A CREAR EL METODO DE ORDENAMIENTO SEGUN LOS PRECIOS DE LOS VEHICULOS ANTES REGISTRADOS TE MANDO EL CODIGO

    import javax.swing.*;

    public class Interfaz_Vehiculo {
    public static Vehiculo Vector[];
    public static Vehiculo VVE[];
    public static Vehiculo[] Vectores;

    public static int Tam,i,n,e, contador = 0;
    public static int Lleno = 0;

    public static void CrearVector(){
    Tam = Integer.parseInt(JOptionPane.showInputDialog(null, «Dígite el tamaño del vector : «, «Tamaño Vector», JOptionPane.QUESTION_MESSAGE ));
    Vector = new Vehiculo[Tam];
    VVE = new Vehiculo[Tam];
    JOptionPane.showMessageDialog(null, «Vector creado con éxito.», «Vector», JOptionPane.INFORMATION_MESSAGE);
    }

    public static void Capturar(){
    String Marca,Color,Num_Placa ;
    int Modelo;
    double Precio;
    if (Tam > 0) {
    if (i<Tam)
    {
    Marca = JOptionPane.showInputDialog(null, "Dígite la marca del vehiculo: ","Datos del vehiculo No."+ (i+1), JOptionPane.QUESTION_MESSAGE);
    Color = JOptionPane.showInputDialog(null, "Dígite el color del vehiculo: ","Datos del vehiculo No."+ (i+1), JOptionPane.QUESTION_MESSAGE);
    do{
    Num_Placa = JOptionPane.showInputDialog(null, "Dígite la placa del vehiculo: ","Datos del vehiculo No."+ (i+1), JOptionPane.QUESTION_MESSAGE);
    for (int m = 0; m 0) {
    for(int k = 0 ; k
    0) {
    if (i > 0) {
    String placaBuscar;
    boolean encontrado = false;
    placaBuscar = JOptionPane.showInputDialog(null,»Digite la placa a buscar»,»Buscador»,JOptionPane.QUESTION_MESSAGE);
    int k = 0;
    while(k
    0) {
    if (i > 0) {
    String marcaBuscar;
    boolean encontrado = false;
    marcaBuscar = JOptionPane.showInputDialog(null,»Digite el modelo a buscar»,»Buscador»,JOptionPane.QUESTION_MESSAGE);
    int k = 0;
    while(k < i){
    if (marcaBuscar.equalsIgnoreCase(Vector[k].getMarca())){
    VVE[contador] = new Vehiculo(Vector[k].getMarca(),Vector[k].getColor(),Vector[k].getNumPlaca(),Vector[k].getModelo(),Vector[k].getPrecio());
    ++ contador;
    encontrado = true;
    }
    ++k;
    }
    if (encontrado == true) {
    for(int j = 0; j 0) {
    if (i > 0) {
    String placaBuscar,marcaNueva;
    boolean encontrado = false;
    placaBuscar = JOptionPane.showInputDialog(null,»Digite la placa a realizar el cambio.»,»Modifica»,JOptionPane.QUESTION_MESSAGE);
    int k = 0;
    while(k
    0) {
    if (i > 0) {
    String placaBuscar,placaNueva;
    boolean encontrado = false;
    placaBuscar = JOptionPane.showInputDialog(null,»Digite la placa a realizar el cambio.»,»Modifica»,JOptionPane.QUESTION_MESSAGE);
    int k = 0;
    while(k < i & encontrado == false){
    if (placaBuscar.equalsIgnoreCase( Vector[k].getNumPlaca())){
    encontrado = true;
    }else{
    ++k;
    }
    }
    if (encontrado == false) {
    JOptionPane.showMessageDialog(null,"Esta placa no ha sido encontrada","Modifica",JOptionPane.INFORMATION_MESSAGE);
    }else{
    do{
    placaNueva = JOptionPane.showInputDialog(null,"Digite la placa nueva del vehiculo ","Modifica",JOptionPane.QUESTION_MESSAGE);
    for (int m = 0; m < i; ++m) {
    if (placaNueva.equals( Vector[m].getNumPlaca())) {
    JOptionPane.showMessageDialog(null, "Placa ya existe \n Porfavor digitela una nueva.", "Error", JOptionPane.ERROR_MESSAGE);
    placaNueva = "";
    break;
    }
    }
    }while(placaNueva.isEmpty());
    Vector[k].modificacolor(placaNueva);
    JOptionPane.showMessageDialog(null, "DATOS VEHICULO MODIFICADO EN POSICIÓN No." + (k+1) + ": \n Marca : " + Vector[k].getMarca()
    + " \n Color : " + Vector[k].getColor() + "\n Placa : " + Vector[k].getNumPlaca()
    + " \n Modelo : " + Vector[k].getModelo() + "\n Precio : $" + Vector[k].getPrecio(),"Datos", JOptionPane.INFORMATION_MESSAGE);
    }
    }else{
    JOptionPane.showMessageDialog(null, "Debe primero llenar el vector.", "Error", JOptionPane.ERROR_MESSAGE);
    }
    }else{
    JOptionPane.showMessageDialog(null, "Debe primero crear el vector.", "Error", JOptionPane.ERROR_MESSAGE);
    }
    }

    public static void ordenar()
    {
    }
    public static void main(String arg[]){
    int menu;
    do{
    menu = Integer.parseInt(JOptionPane.showInputDialog(null, "OPCIONES DEL SISTEMA \n 1. Crear Vector \n 2. Agregar Vehiculo"
    + "\n 3. Visualizar Vehiculos \n 4. Buscar Vehiculo \n 5. Buscar Marca \n 6. Modificar Marca \n 7. Modificar el Color \n 8. Ordenar por precio \n 9. Salir del menu \n Digite la opción que desea : ","MENU",JOptionPane.QUESTION_MESSAGE));
    switch(menu){
    case 1 : {
    CrearVector();
    }break;
    case 2 : {
    Capturar();
    }break;
    case 3 : {
    Visualizar();
    }break;
    case 4 : {
    BDPlaca();
    }break;
    case 5 : {
    BDMarca();
    }break;
    case 6 : {
    modiMarca();
    }break;
    case 7 : {
    modiColor();
    }break;
    case 8 : {
    ordenar();
    }break;
    case 9 : {
    JOptionPane.showMessageDialog(null, "Salió del sistema");
    }break;
    default : {
    JOptionPane.showMessageDialog(null, "Opción no valida","Error",JOptionPane.ERROR_MESSAGE);
    }
    }
    }while(menu != 9);
    }

    }

    Responder

Deja un comentario