Código de Java - Método burbuja ordenando ascendentemente

Requerimientos

Copia del este método en cualquier clase con un main y te funcionará.

1.0
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 24 de Agosto del 2019gráfica de visualizaciones de la versión: 1.0
295 visualizaciones desde el 24 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
static void miBurbuja(){
    int vector[]={100,6,77,9,90,13};
    int aux=0;
    int reemplaza=0;
 
        for(int x=1;x<vector.length;x++){
 
        //Comprueba si es más grande
        if(vector[x-1]>vector[x]){
            aux=vector[x];
            vector[x]=vector[x-1];
            vector[x-1]=aux;
        }
        if(x==vector.length-1){
            reemplaza+=1;
            x=0;
        }
        if(reemplaza==vector.length){
            break;
        }
        }
    //Muestra el contenido
    for(int e=0;e<vector.length;e++){
        System.out.println(vector[e]);
    }
}



Comentarios sobre la versión: 1.0 (2)

Imágen de perfil
24 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
No huele bien andar modificando la variable del ciclo ocultando el que estas iterando mas de 1 vez.
De cualquier manera, este codigo se puede mejorar, aun manteniendo esto que parece criticable:
- Que pasa si el arreglo ya esta ordenado? Igual vas a iterar un monton de veces ciegamente. Una tipica optimizacion de bubble sort es incorporar una variable booleana para saber si hubo (o no) algun intercambio, y si no hubo, salir del ciclo.
- Siempre llegas hasta el final del ciclo, en todas las vueltas. Es necesario? Creo que no lo es, puesto que en cada vuelta estas poniendo el mayor al final. Dado esto, puedes iterar hasta el final la primera vez, hasta el final - 1 la segunda vez, hasta el final - 2 la 3ra .etc, tienes la variable "reemplaza" que te puede ayudar a controlar el ciclo para no llegar hasta el final.
- Elimina los comentarios, no parecen aportar nada adicional a lo que se puede leer.
- Para hacerlo mas generico, pasa como parametro el vector a ordenar, sino la funcion solo ordenara 1 solo arreglo. Incluye un main y que sea este el que imprime, si quiere, no la funcion misma.
Responder
24 de Agosto del 2019
estrellaestrellaestrellaestrellaestrella
Gracias. Mañana hago las modificaciones.
Responder

Comentar la versión: 1.0

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

2.0
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 24 de Agosto del 2019gráfica de visualizaciones de la versión: 2.0
288 visualizaciones desde el 24 de Agosto del 2019

3.0

Actualizado el 27 de Agosto del 2019 (Publicado el 25 de Agosto del 2019)gráfica de visualizaciones de la versión: 3.0
2.348 visualizaciones desde el 25 de Agosto del 2019
http://lwp-l.com/s5492