ummm.. recursive solution? What will happen if you try to sort a million of items. Don't you run out of stack space at some point.
I know that some compilers are smart, and can inline things, but still method calls are not necessary the most efficient way to go.
Sure, it might look pretty, but it is not efficient.