Pular para o conteúdo

Diretoria de Ensino da Marinha · Marinha do Brasil 2013

Questão 5 — Estrutura de Dados: Algoritmos de Ordenação — Bubble Sort

Estrutura de Dados Algoritmos de Ordenação — Bubble Sort

Diretoria de Ensino da Marinha 2013 Superior

Marinha do Brasil · Professor do Magistério Superior — Tecnologia da Informação · Caderno Amarela

Gabarito disponível

Considerando o tratamento de estrutura de dados e os algoritmos que suportam estas estruturas, analise o programa em JAVA abaixo desenvolvido no ambiente Netbeans 7.3:

public class P1 {

public static void main(String[] args) {
int a=4;
int [] vetor = {1,2,3,0,a};
a=3;
bS (vetor);
for (int i=0; i<(vetor.length)-1; i++) {
System.out.println (vetor[i]);
}
}

public static void bS (int [] vetor){
boolean houveTroca = true;
while (houveTroca) {
houveTroca = false;
for (int i = 0; i < (vetor.length)-1; i++){
if (vetor[i] > vetor[i+1]){
int variavelAuxiliar = vetor[i+1];
vetor[i+1] = vetor[i];
vetor[i] = variavelAuxiliar;
houveTroca = true;
}
}
}
}
}

Qual é a sequência de valores que será impressa pelo programa ao final de sua execução?
Selecione uma alternativa

Resolução comentada

O vetor {1,2,3,0,4} é ordenado e o laço de impressão omite o último elemento, imprimindo 0, 1, 2, 3.

O vetor é criado com a=4, ou seja, {1,2,3,0,4}, e a mudança posterior de 'a' não afeta o vetor. O bubble sort o deixa como {0,1,2,3,4}. O laço de impressão vai até length-1 exclusive, então o índice 4 não é impresso e a saída é 0, 1, 2, 3.

Análise das alternativas

A: 4 é o último elemento, que não é impresso, e o 3 aparece na saída. C e E: representam o vetor sem ordenação completa. D: incluiria o 4 e não o 0, o que contraria o vetor ordenado.

Referência: Algoritmo Bubble Sort em Java.

Resolução comentada do VaiConcursos.

Ver gabarito

Gabarito: B

Fonte: Gabarito preliminar: Gabarito CP-PMS/2013 — página 11