|
|
Hoje vou apresentar mais um algoritmo de ordenação de vetores. É a Ordenação por Seleção (ou Selection Sort). Sem mais papo e antes mesmo da explicação, vamos ao seu pseudocódigo:
1. para i
1 até tamanho-1, faça
2. minimo
i
3. para j
i+1 até tamanho, faça
4. se vetor[j] < vetor[minimo], então
5. minimo
j
6. fim-se
7. fim-para
8. temp
vetor[i]
9. vetor[i]
vetor[minimo]
10. vetor[minimo]
temp
11. fim-para
tamanho = comprimento do vetor
A idéia é sempre procurar o menor elemento do vetor e inseri-lo no início do vetor. Procuramos o menor valor do vetor e colocamos ele em vetor[1]. Procuramos o menor valor do vetor excluindo o já colocado e colocamos ele em vetor[2]. E assim vamos indo até termos todo o vetor ordenado.
Partindo sempre a partir do último elemento reordenado (a partir do i), o programa procura o menor elemento no vetor e o substitue pelo elemento i atual.
O programa recebe o seguinte vetor.
|
v[1] |
v[2] |
v[3] |
v[4] |
v[5] |
v[6] |
|
5 |
3 |
7 |
8 |
2 |
5 |
Aí ele começa com
. Vou sempre marcar
com a cor preta e
com a cor cinza.
|
v[1] |
v[2] |
v[3] |
v[4] |
v[5] |
v[6] |
|
5 |
3 |
7 |
8 |
2 |
5 |
Ele marca o próprio índice i como a variável minimo, que é sempre o menor elemento do vetor. Então, ele faz um para de
até o comprimento do vetor, com o objetivo de descobrir qual o menor elemento.
...
, portanto
.
|
v[1] |
v[2] |
v[3] |
v[4] |
v[5] |
v[6] |
|
5 |
3 |
7 |
8 |
2 |
5 |
...
, portanto não mexemos em nada.
...
, portanto não mexemos em nada.
...
, portanto
.
|
v[1] |
v[2] |
v[3] |
v[4] |
v[5] |
v[6] |
|
5 |
3 |
7 |
8 |
2 |
5 |
...
, portanto não mexemos em nada.
Agora substituímos o v[minimo] pelo v[i], formando com isto o novo vetor:
|
v[1] |
v[2] |
v[3] |
v[4] |
v[5] |
v[6] |
|
2 |
3 |
7 |
8 |
5 |
5 |
E assim vamos fazendo com os outros elementos até que todo o vetor esteja ordenado.
| Voltar ao início | Voltar ao topo |
|
© Monografias.com S.A. |