FC ConcursosFC Concursos

Questão FC373177

Usando o algoritmo Bubble Sort um técnico deseja ordenar o conteúdo de um array utilizando o código JavaScript abaixo, presente no corpo de uma página HTML. <body> <script> var arr

Algoritmos e Lógica de Programação

FCC · 2022

Usando o algoritmo Bubble Sort um técnico deseja ordenar o conteúdo de um array utilizando o código JavaScript abaixo, presente no corpo de uma página HTML.

 

<body>

<script>

var arr = [220, 63, 25, 8, 5, 7, 295, 589];

for (var i = 0; i < arr.length; i++) {

for (var j = 0; j < (arr.length - i - 1); j++) {

if (arr[j] > arr[j + 1]) {

var temp = arr[j]

 

\(\overset{I}{......}\)

arr[j + 1] = temp

 

}

}

}

document.write(arr);

</script>

</body>

 

Para que o array seja ordenado corretamente a lacuna I deve ser corretamente preenchida com

  1. arr[j] = arr[j + i]
  2. arr[i] = arr[j + 1]
  3. arr[j] = arr[j - 1]
  4. arr[j + 1] = arr[j + 1]
  5. arr[j] = arr[j + 1]
Mostrar resposta e comentário

Gabarito

Errado

Comentário do professor

No Bubble Sort, sempre que se detecta a condição \(arr[j] > arr[j+1]\) é preciso efetuar uma troca entre os dois elementos adjacentes para colocá‑los em ordem crescente.

O código já inicia a troca guardando o valor maior em temp: var temp = arr[j]. A instrução arr[j] = arr[j + 1] copia o valor menor (à direita) para a posição à esquerda, evitando perda do dado original.

Em seguida, com arr[j + 1] = temp reescreve‑se a posição direita com o valor guardado em temp, completando a troca.
Ex.: se \(arr[j]=8\) e \(arr[j+1]=5\), então temp=8 → arr[j]=5 → arr[j+1]=8, resultando em 5,8.

Portanto, arr[j] = arr[j + 1] é essencial para mover o menor elemento para a esquerda e permitir que a variável temporária finalize a substituição corretamente.

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

Continue aprendendo