So a divide-and-conquer algorithm on collections is more elegant functionally than imperatively? Also: water found wet. Haskell is elegant & Java isn't, but cherry picking examples always comes with a risk of making your argumentation straw-man-ish. Would be interesting to see some examples where imperative isn't so horrible, and how Haskell compares. The in-place sort the author mentions, for example.
Even that is only true if you consider the concise and readable nature of the Haskell code to be the most important factor in the elegance of the algorithm.
To me, the elegance of true quicksort is that its in-place nature is memory efficient, and consequently also cache-friendly on modern hardware, resulting in excellent real world performance.
If you consider the underlying nature of the algorithm to be more important to its elegance than superficial presentation details, then the typical 3-line functional implementation is clumsy by comparison, and equating the two is at best an appeal to having a sufficiently smart compiler.
In reality, of course, both the aesthetics and the underlying behaviour matter, so I'm not sure it's particularly helpful to promote any language as being superior on either basis without also considering or at least acknowledging the other.