A collection of sorting algorithms and exercises