Ao invés de ordenar em outro array, depois fazer um for no novo array para devolver as referências e retornar o array original, eu pensei em fazer um outro while que analisava as situações e continuava devolvendo o novo array, o trecho específico segue abaixo:
int primeiraPosicao = 0;
while(inicial > 0) {
alunos[primeiraPosicao] = array[primeiraPosicao];
inicial--;
primeiraPosicao++;
}
int ultimaPosicao = termino;
while(ultimaPosicao < array.length) {
alunos[ultimaPosicao] = array[ultimaPosicao];
ultimaPosicao++;
}
Existe alguma diferença real? Quando pensei na análise assintótica apresentada no curso anterior, imaginei que poderia ganhar um pouco em performance.