Videolivro 1 - ordenação com vetores

1. Ordenação - Método da Bolha

Para fazer uma pesquisa de um elemento em um vetor, caso ele não esteja ordenado, quanto maior for o vetor, mais tempo levará o algoritmo de busca. Mais tarde, discutiremos algoritmos de buscas em vetores.
Neste momento trataremos da ordenação, que consiste em colocar os elementos do vetor em ordem. 

Um dos métodos é a ORDENAÇÃO POR SELEÇÃO, apresentada neste capítulo.


O método é simples:
1) Percorremos o vetor uma primeira vez, para selecionar o maior elemento que será colocado na última posição.
O vídeo a seguir ilustra esta primeira parte:

O código em Pascal para fazer esta primeira parte é:

Método da bolha - parte 1

Program OrdenaPasso1 ;
var
VET : array[1..10] of integer;
AUXILIAR, CONT: integer;
Begin
VET[1]:=7; VET[2]:=25; VET[3]:=1; VET[4]:=2; VET[5]:=3; VET[6]:=4; VET[7]:=9; VET[8]:=12; VET[9]:=6; VET[10]:=14;
for CONT:=2 to 10 do
    begin
           if VET[CONT-1] > VET[CONT] 
               then begin
               AUXILIAR := VET[CONT-1];
               VET[CONT-1]:= VET[CONT];
             VET[CONT]:=AUXILIAR;
         end;
 end;
for CONT:=1 to 10 do
write (VET[CONT], ' ');
End.



2) Em seguida percorremos o vetor a partir da posição N-1 para ordenar o segundo elemento. Faremos isso até que o vetor esteja ordenado.
O vídeo a seguir ilustra esta segunda parte:


O código final em Pascal é:
Método da bolha - algoritmo final em Pascal

Program OrdenaFinal ;
var
VET : array[1..10] of integer;
N, AUXILIAR, CONT: integer;

Begin
VET[1]:=7; VET[2]:=25; VET[3]:=1; VET[4]:=2; VET[5]:=3; VET[6]:=4;VET[7]:=9; VET[8]:=12; VET[9]:=6; VET[10]:=14;

for N := 10 downto 2 do
           
 for CONT:=2 to 10 do
    begin
    if VET[CONT-1] > VET[CONT] 
        then begin
              AUXILIAR:= VET[CONT-1];
              VET[CONT-1]:=VET[CONT];
              VET[CONT]:=AUXILIAR;
             end;
      end;

for CONT:=1 to 10 do
write (VET[CONT], ' ');
End.

Vejamos como implementar o método da bolha na linguagem Java: