F# – Simple QuickSort implementation

For illustration purposes only, here’s how you can implement the QuickSort algorithm in a few lines of code:

image

Note that I’ve not made the list generic to avoid complications and performance overheads associated with dealing with generics. Even then, my 5-line implementation pales in comparison with the built-in sort function:

image

This just goes to show how good the built-in functions are Winking smile!

In case you’re wondering how a generic version of my QuickSort implementation would do in comparison, here’s the results:

image

image

Generic equality or comparison is pretty slow, so where possible (not in this case unfortunately) you should mark functions that requires generic comparison ‘inline’ to boost performance.

  • Anonymous

    This is not quicksort, the concat is O(n)