Algoritmo de Ordenação Bolha (Bubblesort) – Pascal

CUsersClaudionorDesktopBuble.exe
//==============================================================================
// Implementação do algoritmo de ordenação bubblesort em pascal
//==============================================================================
program Bubble;
uses crt;

var
   v: array [1..10] of integer;
   I: integer;

// Procedimento para ordenação utilizando o método bolha
procedure bubble_sort();
var
   I, J, troca: integer;
begin
     for I := 1 to 10 do
     begin
          for J := I+1 to 10 do
          begin
               if v[J] < v[I] then
               begin
                    troca := v[I];
                    v[I] := v[J];
                    v[J] := troca;
               end;
          end;
     end;
end;

begin
     // Lê 10 valores
     for I := 1 to 10 do
     begin
          write('Digite um valor: ');
          read(v[I]);
     end;

     // Ordenação
     bubble_sort();

     // Impressão dos valores.
     writeln('');
     writeln('* Resultado *');
     for I := 1 to 10 do
     begin
          writeln('Valor ', I, ': ', v[I]);
     end;
     readkey;
end.

  • Ana

    Teria como ordenar por booble sort sem ser vetor?

    • http://viniciushipolito.wordpress.com viniciushipolito

      É possível, Ana. Mas até onde eu sei, precisaria de muitas comparações sem o uso de uma estrutura de repetição.

  • Igor Schocair

    Por gentileza alguém poderia me ajudar a resolver esse exercício:

    "Crie um programa em C, não precisa ser Orientado a Objeto, que ordene 50.000 números em menos de 10 segundos. Voce não pode implementar o método [quicksort], mas qualquer outro método será aceito."