Pular para o conteúdo

Serviço de Seleção do Pessoal da Marinha (SSPM) · Marinha do Brasil 2025

Questão 24 — Algoritmos e Estruturas de Dados: Algoritmos de Ordenação — Insertion Sort

Algoritmos e Estruturas de Dados Algoritmos de Ordenação — Insertion Sort

Serviço de Seleção do Pessoal da Marinha (SSPM) 2025

Marinha do Brasil · Quadro Técnico do Corpo Auxiliar da Marinha (CP-T) — Informática · Caderno Amarela

Gabarito disponível

Assinale a opção que apresenta o nome do algoritmo de ordenação demonstrado no código abaixo, escrito em Java 17, e a terceira iteração do algoritmo considerando que o array a ser ordenado é {6,4,20,9,18,0}.

public static int[ ] sort(int [ ] arr){
for(int j=1;j<arr.length;j++){
int val=arr[j];int i=j-1;
while (i≥0 && arr[i]>val){arr[i+1]=arr[i];i-=1;}
arr[i+1]=val;
}
return arr;
}
Selecione uma alternativa

Resolução comentada

O código é insertion sort e, na 3ª iteração, o array fica {4,6,9,20,18,0}.

O algoritmo pega cada elemento (val) e o insere na posição correta da parte já ordenada, característica do insertion sort. Iteração 1 (j=1): {4,6,20,9,18,0}. Iteração 2 (j=2): 20 já está na posição correta, array inalterado. Iteração 3 (j=3): o 9 é inserido antes do 20, resultando em {4,6,9,20,18,0}.

Análise das alternativas

A e D) Erradas: não é bubble sort, que troca pares adjacentes repetidamente. B) Errada: não há divisão e intercalação de subvetores, logo não é merge sort. E) Errada: o array {4,6,9,18,20,0} corresponde a uma iteração a mais (a 4ª).

Referência: Algoritmos de ordenação: insertion sort.

Resolução comentada do VaiConcursos.

Ver gabarito

Gabarito: C

Fonte: Gabarito preliminar: Gabarito final retificado — Informática — página 6