Buscar

Slides 5 - Ordenação de Vetores

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Ordenação de Vetor*
SSC501- Introdução à Ciência da Computação I
Simone Senger Souza
* Adaptação dos slides desenvolvidos pela Profa. Rosely Sanches
Ordenação
� ORDENAÇÃO é uma das tarefas básicas em 
processamento de dados
� A ordenação de um vetor significa classificar os 
2
� A ordenação de um vetor significa classificar os 
seus elementos
� Colocar os elementos do vetor em ordem de 
acordo com algum critério
� Supor que os elementos de um vetor sejam 
inteiros
� Critério de ordenação: 
Ordenação de Vetores
3
� Critério de ordenação: 
� ordem crescente
� ordem decrescente
� Existem vários algoritmos de ordenação
� Diferenciam pela velocidade da ordenação (e 
complexidade de implementação)
Algoritmos de Ordenação
4
complexidade de implementação)
� Métodos de ordenação: (simples)
� Método da Seleção
� Método da Bolha
Ordenação pelo Método da 
Seleção
Método da Seleção
� Funcionamento:
� a cada passagem pelo vetor, selecionar o 
menor elemento e colocar este elemento o 
mais a esquerda possível no vetor.
6
mais a esquerda possível no vetor.
� Para isto deve-se trocar as posições dos 
elementos do vetor
� Na primeira passagem troca-se o menor elemento 
com o que está na primeira posição
� Na segunda passagem troca-se o segundo menor 
elemento com o que está na segunda posição
� Assim por diante
Método da Seleção
� Desse modo, na passagem i só se deve procurar 
o menor elemento a partir do i-ésimo até o N-
ésimo elemento do vetor (os elementos 
7
ésimo elemento do vetor (os elementos 
anteriores já estarão ordenados). 
� Note-se que serão necessárias (N-1) passagens, 
pois, na última passagem, o N-ésimo elemento
já estará na sua posição correta
Método da Seleção 
(ordem crescente)
VET = [ 46 15 91 59 62 76 10 93 ]
VET = [ 46 15 91 59 62 76 10 93 ]
8
VET = [ 10 15 91 59 62 76 46 93 ]
VET = [ 10 15 91 59 62 76 45 93 ]
VET = [ 10 15 91 59 62 76 45 93 ]
Método da Seleção 
(ordem crescente)
VET = [ 10 15 91 59 62 76 45 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
9
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
Método da Seleção 
(ordem crescente)
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
10
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
VET = [ 10 15 45 59 62 76 91 93 ]
Vetor Final
Ok!
Algoritmo do Método da Seleção
Funcao_Ordena_Selecao(inteiro vetor[], inteiro tam)
Inicio
inteiro i, j, min, aux;
para i de 0 até tam-1 faça
min = i;
para j de i+1 até tam faça
se (vetor[j] < vetor[min])
min = j;
fim-se;
O vetor é passado 
como parâmetro – por 
referência
Percorre todo o vetor 
até o elemento n-1 
Percorre do elemento 
11
fim-se;
fim-para;
aux=vetor[i]; 
vetor[i]=vetor[min]; 
vetor[min]=aux; 
fim-para;
Fim.
Percorre do elemento 
i+1 até o último.
Armazena a posição 
(índice) do menor 
elemento
Troca os elementos, 
colocando-os na ordem 
crescenteA variável I controla o pivô
A variável J controla os elementos a frente do pivô
Exercício de Fixação
� Utilizando o algoritmo anterior (método da 
seleção), faça a ordenação do seguinte vetor:
� Vetor = { 4, 8, 2, 3, 7}
12
� Vetor = { 4, 8, 2, 3, 7}
Método da Bolha
Método da Bolha
� É mais popular que o método da seleção, 
embora seu desempenho seja inferior
� Funcionamento:
14
� Funcionamento:
� A cada passagem pelo vetor, o elemento da 
i-ésima posição é selecionado e transferido 
para a sua posição adequada.
VETOR DESORDENADOVETOR DESORDENADO
[ 15 46 91 59 62 76 10 93 ]
[ 15 46 91 59 62 76 10 93 ]
[ 15 46 91 59 62 10 76 93 ]
[ 15 46 91 59 10 62 76 93 ]
[ 15 46 91 10 59 62 76 93 ]
[ 15 46 10 91 59 62 76 93 ]
15
[ 15 46 10 91 59 62 76 93 ]
[ 15 10 46 91 59 62 76 93 ]
[ 10 15 46 91 59 62 76 93 ]
[ 10 15 46 59 91 62 76 93 ]
[ 10 15 46 59 62 91 76 93 ]
[ 10 15 46 59 62 76 91 93 ]
VETOR ORDENADOVETOR ORDENADO
Algoritmo do Método da Bolha
Funcao_Ordena_Bolha(inteiro vetor[], inteiro tam)
Inicio
inteiro i, j, aux;
para i de 0 até tam faça
para j de tam-1 até i passo –1 faça
se (vetor[j-1] > vetor[j]
aux=vetor[j-1]; 
16
aux=vetor[j-1]; 
vetor[j-1]=vetor[j]; 
vetor[j]=aux; 
fim-se;
fim-para;
fim-para;
Fim.
Exercício de Fixação
� Utilizando o algoritmo anterior (método da 
bolha), faça a ordenação do seguinte vetor:
� Vetor = { 4, 8, 2, 3, 7}
17
� Vetor = { 4, 8, 2, 3, 7}
Exercício
� Adequar o método da bolha para ordenar um 
vetor de números na ordem inversa, ou seja, 
em ordem decrescente.
18

Outros materiais