Foros del Web » Programación para mayores de 30 ;) » Java »

metodo burbuja

Estas en el tema de metodo burbuja en el foro de Java en Foros del Web. buen día, tengo este código : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código java: Ver original public class orden {       public void ordenar ( int array ...
  #1 (permalink)  
Antiguo 26/02/2013, 16:02
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 16 años, 2 meses
Puntos: 7
metodo burbuja

buen día, tengo este código :

Código java:
Ver original
  1. public class orden {
  2.  
  3.     public void ordenar(int array[]) {
  4.         int x;
  5.         boolean permiso = false;
  6.  
  7.  
  8.         while (true) {
  9.             permiso = false;
  10.             for (int i = 1; i < array.length; i++) {
  11.                 if (array[i] < array[i - 1]) {
  12.                     x = array[i];
  13.                     array[i] = array[i - 1];
  14.                     array[i - 1] = x;
  15.                     permiso = true;
  16.                 }
  17.  
  18.             }
  19.             if (permiso == false) {
  20.                 break;
  21.             }
  22.         }
  23.  
  24.     }
  25. }

Solo me falta por entender una "pequeñetes", en el bucle for tengo que empieze de uno hasta que sea MENOR que 6 (en mi caso), lo que no entiendo es porque no coge los 6 numeros y en en vez de eso escoge 5. Pienso que es porque el ultimo al fin y al cabo no va a ser acomodado si no que se ira desplazando "solo". ¿es así? Gracias
  #2 (permalink)  
Antiguo 27/02/2013, 02:23
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: metodo burbuja

La posición de los elementos en una lista va de 0 a size()-1 (o length-1 para los arrays).

Para iterar un array se usa por tanto

for (int i = 0; i < array.length; i++) {

Si usas Lists o Collections a partir de java 5 puedes hacer

for (MiClase miObjeto : miColeccion) {
// lo que se quiera hacer
}
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 27/02/2013, 02:29
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: metodo burbuja

El algoritmo de ordenamiento de la burbuja ordena una lista comparando de dos en dos los elementos repetitivamente.

En tu caso se compara un número con el anterior, por lo que empieza con el segundo número, que es el primero que tiene un anterior con el que comparar. Recuerda que en los arrays las posiciones empiezan en 0, por lo que el sexto número tiene un índice de 5.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: burbuja, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:46.