El Ordenamiento de Burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Funciona revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada. Este algoritmo obtiene su nombre de la forma con la que suben por la lista los elementos durante los intercambios, como si fueran pequeñas "burbujas". También es conocido como el método del intercambio directo.

Dado que solo usa comparaciones para operar elementos, se lo considera un algoritmo de comparación; y es el más sencillo de implementar

JAVA:
  1. public class BubbleSort {
  2.   private long[] a;
  3.  
  4.   private int nElems;
  5.  
  6.   public BubbleSort(int max) {
  7.     a = new long[max];
  8.     nElems = 0;
  9.   }
  10.  
  11.   //   put element into array
  12.   public void insert(long value) {
  13.     a[nElems] = value;
  14.     nElems++;
  15.   }
  16.  
  17.   //   displays array contents
  18.   public void display() {
  19.     for (int j = 0; j <nElems; j++)
  20.       System.out.print(a[j] + " ");
  21.     System.out.println("");
  22.   }
  23.  
  24.   public void bubbleSort() {
  25.     int out, in;
  26.  
  27.     for (out = nElems - 1; out> 1; out--)
  28.       // outer loop (backward)
  29.       for (in = 0; in <out; in++)
  30.         // inner loop (forward)
  31.         if (a[in]> a[in + 1]) // out of order?
  32.           swap(in, in + 1); // swap them
  33.   }
  34.  
  35.   private void swap(int one, int two) {
  36.     long temp = a[one];
  37.     a[one] = a[two];
  38.     a[two] = temp;
  39.   }
  40.  
  41.   public static void main(String[] args) {
  42.     int maxSize = 100; // array size
  43.     BubbleSort arr; // reference to array
  44.     arr = new BubbleSort(maxSize);
  45.  
  46.     arr.insert(77); // insert 10 items
  47.     arr.insert(66);
  48.     arr.insert(44);
  49.     arr.insert(34);
  50.     arr.insert(22);
  51.     arr.insert(88);
  52.     arr.insert(12);
  53.     arr.insert(00);
  54.     arr.insert(55);
  55.     arr.insert(33);
  56.  
  57.     arr.display();
  58.  
  59.     arr.bubbleSort();
  60.  
  61.     arr.display();
  62.   }
  63. }

Popularidad: 27%