selection sort generic on any data type that implements Comparable interface