El algoritmo de ordenación por selección recorre todo el arreglo desde la primera posición buscando el menor elemento de todos. Cuando termina, lo reemplaza por el elemento de la primera posición y repite todo el proceso con el segundo elemento y así sucesivamente.
Ejemplo:
Tenemos el vector original con los siguientes valores.
Iteración 1:
Se selecciona el número 17 y se intercambia por el 45.
Iteración 2:
Se selecciona el 21 y se intercambia por el 45.
Iteración 3:
Se selecciona el 23, no hay cambio.
Iteración 4:
Se selecciona el 45 y se intercambia por el 67.
Finalmente vector ordenado.
public class Seleccion { public static void main(String[] args) { int vec[]={45,17,23,67,21}; System.out.println("Vector original"); imprimirVector(vec); System.out.println("\n"); vec=ordenacionSeleccion(vec); imprimirVector(vec); } public static int[] ordenacionSeleccion(int vec[]){ final int N=vec.length; for(int i=0;i<N;i++){ int posMenor=i; for(int j=i+1;j<N;j++){ if(vec[j]<vec[posMenor]) posMenor=j; } if(posMenor!=i){ int temp=vec[i]; vec[i]=vec[posMenor]; vec[posMenor]=temp; } System.out.print("iteracion: "+i+": ");imprimirVector(vec);System.out.println(); } return vec; } public static void imprimirVector(int vec[]){ for(int i=0;i<vec.length;i++){ System.out.print(vec[i]+" "); } } }