Implementations of various sorting algorithms - for personal development