Eu entendi bem o resto do código mas fiquei em dúvida sobre esses dois if que estão dentro da função quickSort. O que eles estão fazendo exatamente?
function quickSort(arr, indiceEsquerda, indiceDireita) {
if(arr.length > 1) {
let indiceAtual = particiona(arr, indiceEsquerda, indiceDireita)
// os if que estou com dúvida
if(indiceEsquerda < indiceAtual - 1){ //quando eu esqueci desse menos 1 fez um loop infinito
quickSort(arr, indiceEsquerda, indiceAtual - 1)
}
if(indiceAtual < indiceDireita) {
quickSort(arr, indiceAtual, indiceDireita)
}
}
return arr
}