Código de Java - Método de ordenación de Burbuja

Versión 1
estrellaestrellaestrellaestrellaestrella(37)

Publicado el 8 de Mayo del 2014gráfica de visualizaciones de la versión: Versión 1
267.230 visualizaciones desde el 8 de Mayo del 2014
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import java.io.*;
 
public class burbuja
{
    public static void main(String arg[]) throws IOException
    {
        /*creacion del objeto para leer por teclado*/
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        /*ingreso del tamaño de arreglos*/
        System.out.print("\n Ingrese Numero de Datos a Ingresar : ");
        int tam = Integer.parseInt(in.readLine());
        /*creacion del arreglo*/
        int arr[] = new int[tam];
        System.out.println();
        /*lectura del arreglo*/
        int j = 0;
        for (int i = 0 ; i < arr.length;i++)
        {
            j+=1;
            System.out.print("Elemento " + j + " : ");
            arr[i] = Integer.parseInt(in.readLine());
        }
        burbuja(arr);
    }
 
    static void burbuja(int arreglo[])
    {
        for(int i = 0; i < arreglo.length - 1; i++)
        {
            for(int j = 0; j < arreglo.length - 1; j++)
            {
                if (arreglo[j] < arreglo[j + 1])
                {
                    int tmp = arreglo[j+1];
                    arreglo[j+1] = arreglo[j];
                    arreglo[j] = tmp;
                }
            }
        }
        for(int i = 0;i < arreglo.length; i++)
        {
            System.out.print(arreglo[i]+"\n");
        }
    }
}



Comentarios sobre la versión: Versión 1 (37)

aarone
9 de Julio del 2015
estrellaestrellaestrellaestrellaestrella
su orden de complejidad es muy costoso con esos tres for
Responder
people
23 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
el tercer for no es necesario como tal, es solo para mostrar el nuevo orden
Responder
14 de Agosto del 2015
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
Ingmo
14 de Octubre del 2015
estrellaestrellaestrellaestrellaestrella
Me parece genial el ejemplo, me sirvio de mucho y no me parece complejo, gracias por compartir.
Responder
JOSE
14 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Muy buen ejemplo, me ayudo mucho para asignación de tramites a los técnicos.
Responder
Luis
15 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Perfecto muy útil.
Responder
Joan Trastamara Fernandez Caminald
15 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Me siento estafado, llevo 3 quartos de hora intentando k me funcione y no me va... Tendre k llamar a mi amiga lluisa haver si ella me lo puede solucionar... En fin creo que se tiene que explicar mejor porque chicos que no saben ingles i saca un 2/60 en el examen i me pasan porque yo lo valgo no es justo... Tendrian que ayudar a los 9-5 tambien ... En fin una mierda... Ahora k voy a hacer
Responder
Imágen de perfil
16 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Hola Joan, esta muy bien quejarse y no indicar que problema tienes o que problema te da el código, o como lo estas haciendo...
Es super sencillo, solo tienes que copiar y ejecutar!!! son dos instrucciones:

javac burbuja.java
java burbuja

Explica que problema tienes en vez de quejarte tanto!!!
Responder
Joan Trastamara Fernandez Caminals
16 de Diciembre del 2015
estrellaestrellaestrellaestrellaestrella
Haver a mi me sigue dando error eh... Yo no se que java tienes pero en el mio no va. Yo ya no se si es una broma pero no me va... Tengo el trabajo para el viernes i no lo puedo solucionar. Como ya dije no puedo mirar paginas en ingles ya que saco 2/60 en los examenes y me aprueban like a baus pero en fin eso es otro tema aparte. Agradeceria que alguien me pudiera guiar en el java( like a baus) porque me estoy poniendo muyy nervioso jshwbdiehdudjeodhlwksçslsl
Responder
diego
8 de Mayo del 2018
estrellaestrellaestrellaestrellaestrella
si sale , corrige algunas cosas , el mismo java te los dice
Responder
Joan Trastamara Fernandez Caminals
16 de Febrero del 2016
estrellaestrellaestrellaestrellaestrella
Si tío, tienes RaZong :)
Responder
Jack
6 de Abril del 2018
estrellaestrellaestrellaestrellaestrella
Estoy contigo broooooo tienes razon
Responder
mari
3 de Agosto del 2017
estrellaestrellaestrellaestrellaestrella
a mi me quedo a los 5 minutos =)
Responder
Nombre
14 de Agosto del 2018
estrellaestrellaestrellaestrellaestrella
Si no sabes hablar tu idioma como crees que vas a poder con otro
Responder
Paufa
12 de Enero del 2016
estrellaestrellaestrellaestrellaestrella
Bastante buena pero a veces me sale mal.
Responder
elise
15 de Febrero del 2016
estrellaestrellaestrellaestrellaestrella
me dice error en el import java.io*; y con el throw IOException con el BufferedReader
estoy trabajando en eclipse
Responder
Frank
17 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
Este aporte es muy bueno que bien que lo aprovechas, lo unico que veo en tu codigo es que hace falta un punto "."
import java. io. *;
El siguiente error que presentas va atado a este.

Saludos!
Responder
Imágen de perfil
28 de Marzo del 2016
estrellaestrellaestrellaestrellaestrella
Hola disculpa, soy nuevo en lenguaje java, hasta el momento sólo he proramado en c, y estoy repasando el método de la busbuja, pero topandome con su código hay muchas dudas respecto al lenguaje, comprendo muchas cosas de su código, pero veo que por ejemplo en la línea 28 arreglo.length, se refiere a que es invocado (por así decirlo) el método length del objeto arreglo, pero que hace el método lenght y en qué parte crea el objeto arreglo y como se llama la clase que lo contiene, podría ayudarme con esa duda porfavor, saludos a todos.
Responder
Alejandro
29 de Marzo del 2017
estrellaestrellaestrellaestrellaestrella
Hola buenos días el .lenght lo que hace es decirle que verifique la ultima posición que tiene almacenada el arreglo ya que como programador no tendríamos la oportunidad de conocer esa ultima posición. Y correspondiente al arreglo no es un método sino la variable que toma para poderle enviar la respuesta al método principla
Responder
Josue
4 de Septiembre del 2017
estrellaestrellaestrellaestrellaestrella
El .length lo que hace es dar la longitud del vector, por ejemplo que un vector sea de 10 campos entonces el método lo que devuelve es ese 10. Por eso, el i < vector.length, cuando i sea menor a la longitud total del vector, en este caso, cuando i sea igual a 9 se detiene
Responder
José carlos
1 de Junio del 2016
estrellaestrellaestrellaestrellaestrella
Hola todos
Tengo un problema con el código
Me sale error int tam=Integer.parseInt.(in.readLine()); agradecería su ayuda
Responder
jorge cwirko
12 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
jose en esa linea de codigo esta bien no tiene error no alcanzo apreciar pero integer y int empiezan con mayusculas asi :
int tam=Integer..parseInt(in.readLine());
seguro el problema debe estar antes de esa linea de codigo.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
Responder
Jack
6 de Abril del 2018
estrellaestrellaestrellaestrellaestrella
eres un maquina como puedes etener un erro en algo de copia y pega
Responder
Karin
10 de Septiembre del 2016
estrellaestrellaestrellaestrellaestrella
En esta línea de código:
if (arreglo[j] < arreglo[j + 1])
se debe cambiar el signo de '<' a '>', debe de quedar así
if (arreglo[j] > arreglo[j + 1])
para que mande los más livianos para arriba y los más pesados al fondo.
Responder
Hugo
6 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Tienes toda la razón, gracias.
Responder
Rau
1 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
Bueno
Responder
joseJose
28 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder
juan jose
5 de Diciembre del 2016
estrellaestrellaestrellaestrellaestrella
Hola el programa corre muy bien pero no me despliega resultados, puedo saber porque?
Responder
Angel
13 de Julio del 2017
estrellaestrellaestrellaestrellaestrella
Excelente. solo con cambiar el signo del if puede ser ascendente o descendente :)

package paqueton;

public class Mainy {

public static void main(String[] args) {
int arreglo[] = {3, 5, 4, 2, 10, 50, 3, 14};

for(int i=0 ; i<arreglo.length -1; i++){
for(int j=0 ; j<arreglo.length -1; j++){
if(arreglo[j]>arreglo[j+1]){
int aux = arreglo[j];
arreglo[j]=arreglo[j+1];
arreglo[j+1]=aux;
}
}
}


for(int z=0 ; z<arreglo.length ; z++){
System.out.println(arreglo[z]);
}

}

}
Responder
Imágen de perfil
25 de Agosto del 2017
estrellaestrellaestrellaestrellaestrella
Gracias lo necesito para ordenar un vector.
Una pequeña desventaja de programación que yo tengo, me cuesta mucho ordenar matrices y vectores.
Responder
jojojorgefalcon
21 de Noviembre del 2017
estrellaestrellaestrellaestrellaestrella
chido.... me jalo bien prro +10 te la rifaste como pro
Responder
daniel
25 de Abril del 2018
estrellaestrellaestrellaestrellaestrella
para que sirve la linea de codigo burbuja(arr);
Responder
El trolaso
25 de Mayo del 2018
estrellaestrellaestrellaestrellaestrella
Lo que no entiendo es por qué hacer 2 contadores en este for:
int j = 0;
for (int i = 0; i < arr.length; i++) {
j += 1;
System.out.print("Elemento " + j + " : ");
arr[i] = Integer.parseInt(in.readLine());
}

cuando puedes hacer esto

for (int i = 0; i < arr.length; i++) {
System.out.print("Elemento " + (i+1) + " : ");
arr[i] = Integer.parseInt(in.readLine());
}
Responder
Arrows
11 de Junio del 2018
estrellaestrellaestrellaestrellaestrella
No le veo Funcion al 1er for() en el metodo burbuja ; Creo q deveria ser :

if (arreglo[i] < arreglo[j + 1])

{

int tmp = arreglo[j+1];

arreglo[j+1] = arreglo[i];

arreglo[i] = tmp;

}
Responder
Anonima
13 de Diciembre del 2018
estrellaestrellaestrellaestrellaestrella
Mi profesor dice que ese no es el método de la burbuja :(

sabes como se podría arreglar?
Responder
D3L30N
21 de Julio del 2019
estrellaestrellaestrellaestrellaestrella
Aca esta la forma en que yo ordeno los numeros, es mas efectiva, el ciclo externo se hace menos veces que en el ejemplo citado con anterioridad.

boolean orden;

do {

orden = false;

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

if (numbers[i] > numbers[i + 1]){

int aux = numbers[i];
numbers[i] = numbers[i + 1];
numbers[i + 1] = aux;
orden = true;
}
}

}while (orden);
Responder
gaston jose
21 de Enero del 2020
estrellaestrellaestrellaestrellaestrella
y en ese momento Cell sintió el verdadero terror, no compilaba
Responder

Comentar la versión: Versión 1

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

http://lwp-l.com/s2666