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.
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 é:
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
write (VET[CONT], ' ');
End.
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
write (VET[CONT], ' ');
End.
Vejamos como implementar o método da bolha na linguagem Java: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.