Quicksort sin parametros java
Implementar Quicksort sin parámetros iniciales requiere una función auxiliar recursiva. Se puede simular Quicksort sin parámetros mediante variables de instancia de una clase. Así, logramos un Quicksort "sin parámetros" desde la perspectiva externa. El array a ordenar se guarda como un atributo de la clase.
La función principal llamará a la auxiliar con los límites originales. Dentro de esta clase, tendremos el array a ordenar y la lógica recursiva. Esta técnica requiere un conocimiento avanzado de streams. Quicksort sin parámetros en la función principal se logra con encapsulación.
La función principal delega el trabajo a una función auxiliar recursiva. Esta función auxiliar tomará el array y los índices de inicio y fin. Es importante recordar que "sin parámetros" se refiere a la interfaz pública. El método público solo llama al privado.
El método principal se encarga de la llamada inicial. Un método privado recursivo gestiona la lógica de partición y ordenamiento. Los parámetros están ocultos, pero presentes internamente.
La clase contendría el array y los métodos recursivos. Necesitamos, por lo tanto, una función privada que gestione la recursión. Aunque la firma del Quicksort parezca no tener parámetros, internamente sí los usa. Así, la recursión puede operar correctamente.
La recursión requiere conocer el sub-array que se está procesando. Un enfoque interesante es usar programación funcional en Java. Una posible estrategia para Quicksort sin parámetros es emplear una clase interna. En Java, Quicksort sin parámetros visibles suele implicar una encapsulación.
El método público principal invocará al método recursivo privado con los límites iniciales.