Java - Quicksort metodo de recursimiento ayuda!

 
Vista:

Quicksort metodo de recursimiento ayuda!

Publicado por luis (2 intervenciones) el 03/12/2018 05:59:03
8



Quisiera que porfavor si no es mucha molestia podrian explicarme en particular la 2da linea de codigo,
lo saque de esta pag. el programa ya lo tengo analizado el problema es que no entiendo esa parte!
https://sites.google.com/site/quicksortalgoritmo/codigo
la primera linea del codigo entiendo para que es para reutilizar el metodo y volver a utilizarlo eso es la recursividad, lo que no entiendo es que hace ese signo "?"y demas en esa 2da linea
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Quicksort metodo de recursimiento ayuda!

Publicado por Kabuto (1379 intervenciones) el 03/12/2018 15:15:27
Esa segunda linea utiliza lo que se llama el "operador ternario".
Viene a ser un if else, pero simplificado en una única instrucción.

Su estructura es:
CondicionAEvaluar ? HacerEstoSiTrue:HacerEstoSiFalse

Quizás lo entiendas mejor si pruebas a ejecutar este miniprogramita y pruebas a cambiar el valor de n1:

1
2
int n1 = 4;
System.out.println(n1 < 0 ? "N1 es negativo":"N1 es positivo");

Entonces, lo que hace tu linea de codigo es:
- Pregunta si lo es igual low
- Si true, pasará el parametro lo + 1
- Si false, pasará el parametro lo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Quicksort metodo de recursimiento ayuda!

Publicado por Billy Joel (875 intervenciones) el 03/12/2018 15:34:40
La segunda línea del código es un operador ternario.
El operador ternario funciona así:
(condicion) ? (si la condición es cierta) : (si la condición es falsa)

Es como un if pero en una sola línea y es utilizado para asignar un valor.
Por ejemplo:
1
2
3
4
5
if(lo == low){
    quick_srt(array, lo + 1);
} else {
    quick_srt(array, n);
}

Espero haya quedado claro

Saludos,
;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar