For illustration purposes only, here’s how you can implement the QuickSort algorithm in a few lines of code:
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:
This just goes to show how good the built-in functions are !
In case you’re wondering how a generic version of my QuickSort implementation would do in comparison, here’s the results:
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.