The sorting algorithms