sorting algorithms implemented for go