Faça um programa que dado o vetor unidimensional
retorne:
os valores dispostos em ordem crescente
os valores dispostos em ordem crescente
Passo 1
Então, o exercício pede: “Dado o vetor unidimensional
, retorna os valores em ordem crescente.”
Conteúdo: ordenação de vetores. Vamos usar o algoritmo de seleção (selection sort), que é simples de entender: em cada posição, a gente escolhe o menor elemento do pedaço “não ordenado” e troca com a posição atual.
Conteúdo: ordenação de vetores. Vamos usar o algoritmo de seleção (selection sort), que é simples de entender: em cada posição, a gente escolhe o menor elemento do pedaço “não ordenado” e troca com a posição atual.
Passo 2
Teoria do Selection Sort:
- Começamos na primeira posição do vetor.
- Procuramos o menor valor em todo o trecho que ainda não está ordenado.
- Trocamos esse menor valor com o elemento da posição atual.
- Avançamos uma posição e repetimos até o fim.
Com isso, a cada iteração, o começo do vetor vai ficando ordenado.
Passo 3
Vamos aplicar no nosso vetor inicial
:
-
i = 1 (primeira posição)
Trecho não ordenado =
Menor = 2 (já está em V[1]) → sem troca
Vetor fica -
i = 2
Trecho =
Menor = 4 (já em V[2]) → sem troca
Continua -
i = 3
Trecho =
Menor = 5 (em V[10]) → troca V[3]↔V[10]
→ -
i = 4
Trecho =
Menor = 9 (em V[7]) → troca V[4]↔V[7]
→ -
i = 5
Trecho =
Menor = 12 (em V[8]) → troca V[5]↔V[8]
→ -
i = 6
Trecho =
Menor = 17 (já em V[6]) → sem troca
→ -
i = 7
Trecho =
Menor = 23 (em V[8]) → troca V[7]↔V[8]
→ -
i = 8
Trecho =
Menor = 27 (em V[9]) → troca V[8]↔V[9]
→ -
i = 9
Trecho =
Menor = 35 (em V[10]) → troca V[9]↔V[10]
→ -
i = 10
Só sobra um elemento, já está no lugar certo.
Resposta
O vetor em ordem crescente é