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
- arr[j] = arr[j + i]
- arr[i] = arr[j + 1]
- arr[j] = arr[j - 1]
- arr[j + 1] = arr[j + 1]
- 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