Quicksort en Haskell
Acabo de quedar realmente sorprendido con la expresividad de Haskell. El archiconocido quicksort en dos líneas:
qsort [] = [] qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
Y ahí queda todo! Realmente muy sencillo seguir sin saber nada de Haskell:
- La primera línea dice: para una lista vacía, retorna la lista vacía.
- Para una lista cuyo primer elemento es x, ordena los menores, los mayores y concatena el resultado con el elemento x.
¡Fantástico!










