The Blog

Algoritmo BubbleSort - Ordenamiento

2017-07-02 15:10:16

El método de la burbuja es el más utilizado por los estudiantes principiantes de computación, por su fácil comprensión y programación. Pero es preciso señalar que es probablemente el método más ineficiente O(n²) (Para eficientes tenemos el QuickSort).

El algoritmo de la burbuja puede trabajar de dos maneras diferentes.

  • Llevando los elementos más pequeños hacia la parte izquierda del arreglo.
  • Llevando los elementos más grandes hacia la parte derecha del mismo.

  • La idea básica de este algoritmo consiste en comparar pares de elementos adyacentes e intercambiarlos entre sí hasta que todos se encuentren ordenados.

    Funcionamiento BubbleSort: (2 Ejemplos)


    Código:
    public class BubbleSort {
    
    	public void Bubble_Sort(int[] array,int j){
    		Boolean res = true;
    		int neg = 0;
    		while(res){
    			res = false;
    			for(int i=0;i array[i+1]){
    					int temp = array[i];
    					array[i] = array[i+1];
    					array[i+1] = temp;
    					res = true;
    					
    					System.out.println(" SWAP");
    				}else{
    					System.out.println(" OK");
    				}
    			}
    			System.out.println("");
    			neg++; //Eliminar las casillas fijas
    		}
    	}
    	public static void main(String args[]){
    		int[] array = {2,3,4,5,1};
    		new BubbleSort().Bubble_Sort(array, array.length-1);
    		System.out.println("Lista ordenada: "+Arrays.toString(array));
    	}
    }

    Resultado obtenido:
    [2, 3, 4, 5, 1] 2<3 OK
    [2, 3, 4, 5, 1] 3<4 OK
    [2, 3, 4, 5, 1] 4<5 OK
    [2, 3, 4, 5, 1] 5<1 SWAP
    
    [2, 3, 4, 1, 5] 2<3 OK
    [2, 3, 4, 1, 5] 3<4 OK
    [2, 3, 4, 1, 5] 4<1 SWAP
    
    [2, 3, 1, 4, 5] 2<3 OK
    [2, 3, 1, 4, 5] 3<1 SWAP
    
    [2, 1, 3, 4, 5] 2<1 SWAP
    
    
    Lista ordenada: [1, 2, 3, 4, 5]

    Comments (0)

    • ¡Se el primero en comentar!

    Leave a comment

    Su mensaje ha sido enviado correctamente. ¡Muchas gracias!. Recuerda reiniciar la pagina para ver el comentario.

    No ha sido posible enviar el mensaje. Revise los datos