Pascal: método recursivo de ordenamiento de burbuja y arrays

Pascal: método recursivo de ordenamiento de burbuja y arrays

En muchas ocasiones, nos interesa ordenar los datos de menor a mayor (o al revés). El método de la burbuja se utiliza para recorrer un array, comparar pares de elementos y corregir el orden si por algún motivo es incorrecto. En este artículo os mostramos un ejemplo de código.

¿Cómo ordenar los números de un array?

El algoritmo de la burbuja es considerado uno de los métodos de comparación más sencillos de implementar. Funciona desplazando el número menor al inicio del array. Se ha de tener en cuenta que este método de ordenación puede no resultar eficiente para según qué fines. Los datos iniciales son: 56, 9, 34, 12, 41, 8 y después de ejecutar nuestro código tendremos los números ordenados de menor a mayor: 8, 9, 12, 34, 41, 56. A continuación, os mostramos el ejemplo: 

Program Ordenar;
var
    datos: array[1..6] of integer;
    i,j: integer;
    temporal: integer;
begin
    datos[1] := 56;
    datos[2] := 9;
    datos[3] := 34;
    datos[4] := 12;
    datos[5] := 41;
    datos[6] := 8;
{ Primero mostramos los datos }
    writeLn('Los datos iniciales son: ');
    for i := 1 to 6 do
        write(datos[i], ' ');
    writeLn;
{ Ahora ordenamos mediante burbuja }
    for i := 6 downto 2 do
        for j := 0 to i - 1 do
            if datos[j] > datos[j + 1] then
            begin
                temporal := datos[j];
                datos[j] := datos[j + 1];
                datos[j + 1] := temporal;
            end;
{ Y mostramos el resultado }
    writeLn('Los datos tras ordenar son: ');
    for i := 1 to 6 do
        write(datos[i], ' ');
    writeLn;
end.