El ordenamiento por selección (Selection Sort) es un algoritmo de ordenamiento que requiere O(n2) operaciones para ordenar una lista de n elementos.

Su funcionamiento es el siguiente:
  • Buscar el mínimo elemento de la lista
  • Intercambiarlo con el primero
  • Buscar el mínimo elemento a partir del segundo de la lista
  • Intercambiarlo con el segundo
  • ...
A continuación se muestra un código en java del selection sort:


public boolean selectionsort(T[] datos){
     int min;
     T temp;
     for(int i = 0; i < datos.length-1; i++){
          min = i;
          for(int j = i+1; j < datos.length; j++){
               if(datos[j].compareTo(datos[min]) < 0){
                    min = j;
               }
          }
          temp = datos[min];
          datos[min] = datos[i];
          datos[i] = temp;
     }
}