Oi Lucas! Obrigado pelo retorno! É referente à Aula 8 (algoritmo QuickSort). Nessa aula ele cria o método particiona
, que é o método responsável por iterar o array, e dividi-lo de acordo com o pivô passado com valores menores que ele a esquerda, e maiores a direita, sem ordená-los.
A assinatura do método particiona
foi escrita recebendo o array, um valor int
inicia
e outro valor int
termina
. Porém esse atributo inicia
não é utilizado, onde "teoricamente" ele deveria ser colocado como valor que alimenta a variável int
do loop for
. Mas isso não foi feito. A variável do loop inicia sempre como 0
e o atributo inicia
do método particiona
não está sendo usado.
Por descuido meu, eu acabei atribuindo a variável do loop for
para ser inicializado a partir do valor do atributo inicia, ao invés de inicializar sempre como 0
, onde dessa forma temos loop infinito nas recursões, gerando StackOverflowError
.
A minha dúvida é quanto a isso. O atributo inicia
do método particiona
é pra ser ignorado mesmo a ponto de poder removê-lo? Já que os trechos de array passados no método particiona
sempre deverão iniciar do 0
e não de outro índice?