Different sorting algorithms for fun