public class SortAlgorithms {

    public static <T extends Comparable<T>> void selectionSort(T[] xs) {

        for ( int i = 0; i < xs.length; i++ ) {

            int min = i;

            // trouvez l'élément le plus petit dans la
            // portion non triée du tableau

            for ( int j = i+1; j < xs.length; j++ )
                if ( xs[j].compareTo( xs[ min ] ) < 0 )
                    min = j;

            // échanger l'élément et celui en position i

            T tmp = xs[ min ];
            xs[min] = xs[i];
            xs[i] = tmp;
        }
    }

}