As they say, "true quicksort sorts in-place". So the standard short Haskell code for quicksort,
quicksort :: Ord a => [a] -> [a]
quicksort [] = []
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
where
lesser = filter (< p) xs
greater = filter (>= p) xs
what algorithm/computational process is it describing, after all?
It surely isn't what Tony Hoare devised, lacking its most defining feature, the in-place partitioning algorithm.
(the answer might be well known, but not yet here on SO).
correction: this question is in fact a duplicate: the answer is known on SO after all: cf. Pseudo-quicksort time complexity .