Estava analisando o código feita durante a aula e não entendi uma coisa. Na segunda linha dentro da função divideNoPivo
, ela chama uma função encontraMenores
para encontrar quantos elementos tem um valor menor do que o pivo. Eu não entendi como que essa função esta sendo usada nesta parte do código pois ela retorna um array, mas não entendi para onde esse array vai, o que está sendo feito com ele.
Aqui estão as funções:
function divideNoPivo(arr) {
let pivo = arr[Math.floor(arr.length / 2)];
encontraMenores(pivo, arr);
let valoresMenores = 0;
for (let analisando = 0; analisando < arr.length; analisando++) {
let atual = arr[analisando];
if (atual.preco <= pivo.preco && atual !== pivo) {
trocaLugar(arr, analisando, valoresMenores);
valoresMenores++
}
}
return arr
}
function encontraMenores(pivo, arr) {
let quantidadeMenores = 0 //quantidade de itens que tem o valor menor que o pivo
for (let atual = 0; atual < arr.length; atual++) {
let produtoAtual = arr[atual]
if (produtoAtual.preco < pivo.preco) {
quantidadeMenores++
}
}
trocaLugar(arr, arr.indexOf(pivo), quantidadeMenores)
return arr
}