Faça um programa que dado o vetor unidimensional [2 ; 4 ; 35 ; 50 ; 23 ; 17 ; 9 ; 12 ; 27 ; 5] retorne:
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.

Passo 2

Teoria do Selection Sort:
  1. Começamos na primeira posição do vetor.
  2. Procuramos o menor valor em todo o trecho que ainda não está ordenado.
  3. Trocamos esse menor valor com o elemento da posição atual.
  4. 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 :
  1. i = 1 (primeira posição)
    Trecho não ordenado =
    Menor = 2 (já está em V[1]) → sem troca
    Vetor fica
  2. i = 2
    Trecho =
    Menor = 4 (já em V[2]) → sem troca
    Continua
  3. i = 3
    Trecho =
    Menor = 5 (em V[10]) → troca V[3]↔V[10]
  4. i = 4
    Trecho =
    Menor = 9 (em V[7]) → troca V[4]↔V[7]
  5. i = 5
    Trecho =
    Menor = 12 (em V[8]) → troca V[5]↔V[8]
  6. i = 6
    Trecho =
    Menor = 17 (já em V[6]) → sem troca
  7. i = 7
    Trecho =
    Menor = 23 (em V[8]) → troca V[7]↔V[8]
  8. i = 8
    Trecho =
    Menor = 27 (em V[9]) → troca V[8]↔V[9]
  9. i = 9
    Trecho =
    Menor = 35 (em V[10]) → troca V[9]↔V[10]
  10. i = 10
    Só sobra um elemento, já está no lugar certo.

Resposta

O vetor em ordem crescente é
[2; 4; 5; 9; 12; 17; 23; 27; 35; 50]

Exercícios relacionados