FC ConcursosFC Concursos

Questão FC373256

Considere o método abaixo, em uma aplicação Java, em condições ideais. public static void ordenar (int[] vetor) { for (int i = 0; i < vetor.length - 1; i++) { int indiceMaior = i;

Linguagens de Programação

FCC · 2023

 Considere o método abaixo, em uma aplicação Java, em condições ideais.

 

public static void ordenar (int[] vetor) {

for (int i = 0; i < vetor.length - 1; i++) {

int indiceMaior = i;

for (int j=i+1; j < vetor.length; j++) {

...I...

}

int temp = vetor[indiceMaior];

vetor[indiceMaior]  = vetor[i];

vetor[i] = temp;

}

}

 

Para que o método ordenar ordene o vetor recebido em ordem decrescente, a lacuna I deve ser preenchida por

  1. if (vetor[j] < vetor[indiceMaior]) {indiceMaior = j;}
  2. if (vetor[j] < vetor[indiceMaior]) {indiceMaior = i;}
  3. if (vetor[j]> vetor[indiceMaior]) {indiceMaior = j;}
  4. if (vetor[j]> vetor[indiceMaior]) {indiceMaior = i;}
  5. if (vetor[i]> vetor[indiceMaior]) (indiceMaior = j;)
Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A instrução if (vetor[j] > vetor[indiceMaior]) { indiceMaior = j; } faz a verificação essencial dentro do laço interno: compara o elemento atual (índice j) com o elemento apontado por indiceMaior e, se for maior, atualiza esse índice.

Isso garante que, ao final do laço interno, indiceMaior contém a posição do maior elemento entre as posições de i até o fim do vetor. Em seguida a rotina realiza a troca entre vetor[i] e vetor[indiceMaior], colocando o maior disponível na posição i.

O efeito global é ordenar o vetor em ordem decrescente, pois cada iteração fixa o maior restante na frente. O método implementa o algoritmo Selection Sort, com complexidade \(O(n^2)\) no pior e no melhor caso.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo