Método de ordenación por selección directa

domingo, mayo 07, 2006

Consiste en ercorrer un vector desde la primera posición hasta n-1, en cada iteración se busca encontrar el elemento más pequeño, de tal forma que después de la primera iteración en la posición 0 este el elemento más pequeño de todo el vector; en la segunda iteración el segundo elemento más pequeño y así sucesivamente hasta ordenar todos los datos.

Este método no es el más eficiente, pero es uno de lo más fáciles de implementar. En algunos casos, a este método se le nombra erroneamente "Metodo de la burbuja".


int i,j,aux;

// Dar valores a los elementos del array

for(i=1;i
{
// Se intenta añadir el elemento i.
aux=array[i];
for(j=i-1;j>=0;j--) // Se recorre la sublista de atrás a adelante para buscar
{ // la nueva posición del elemento i.
if(aux>array[j]) // Si se encuentra la posición:
{
array[j+1]=aux; // Ponerlo
break; // y colocar el siguiente número.
}
else // si no, sigue buscándola.
array[j+1]=array[j];
}
if(j==-1) // si se ha mirado todas las posiciones y no se ha encontrado la correcta
array[0]=aux; // es que la posición es al principio del todo.
}

2 comentarios:

IM beginning dijo...

Quiere decir que algunos confunden el metodo de la burbuja con el metodo de seleccion?

Anónimo dijo...

pues sinceramente los 2 metodos tienes un semejanza
pero para no seguir confundiendoce

haa y kreo k el programa tiene un error en el primer for por k no esta terminado