En esta ocasión les mostraré un algoritmo de ordenamiento bastante fácil y sencillo, se trata del ordenamiento burbuja (bubble sort), el cual es el primero que nos enseñan en la universidad para comenzar a entender los tipos de ordenamiento, no es el más óptimo pero sin duda es de gran utilidad.

 

Un poco de teoria extraída de la Wikipedia nos dice que:

La Ordenación 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, siendo el más sencillo de implementar.

Y bueno sin más rollo el código es el siguiente:

  function bubbleSort($array, $n) {
    for ($i = 1; $i < $n; $i++) {
      for ($j = 0; $j < $n - $i; $j++) {
        if ($array[$j] > $array[$j + 1]) {
          $k = $array[$j + 1]; 
          $array[$j + 1] = $array[$j]; 
          $array[$j] = $k;
        }
      }
    }
 
    return $array;
  }
 
  $array = array(7, 5, 4, 3, 2, 1, 8);
  $bubble = bubbleSort($array, count($array));
 
  echo "<p>Array desordenado: </p>";
 
  for ($i = 0; $i < count($array); $i++) {
    echo $array[$i] ." ";
  }
 
  echo "<p>Array ordenado: </p>";
 
  for ($i = 0; $i < count($bubble); $i++) {
    echo $bubble[$i] ." ";
  }
 
  echo "<p>Visita <a href='http://www.codejobs.biz'>codejobs.biz</a></p>";
 

En la próxima publicación les hablaré un poco sobre otros tipos de ordenamientos cómo el Shell, Heap y Quick Sort.

¿Te gustó esta publicación? Márcala como favorita