Algoritmo de Ordenación por Selección Directa
Por tanto y para cada iteración I del algoritmo (de un total de N-1) los pasos a dar son:
- Se selecciona la componente de menor valor, de entre las existentes entre la I-ésima posición y la última.
- Se intercambia el valor seleccionado con el almacenado en la posición I.
MÓDULO ordenacion_seleccion_directa
DATOS
PARÁMETROS
Transforma V() de tipo T
Recibe N entera
VARIABLES
I, J, K enteras
AUX de tipo T
INICIO
Para I desde 1 hasta N-1
K ← I
AUX ← V(I)
Para J desde I+1 hasta N
Si ( V(J) < AUX ) entonces
K ← J
AUX ← V(J)
fin-si
fin-para
V(K) ← V(I)
V(I) ← AUX
fin-para
FIN
CÓDIGO C
/*Ordena un vector (de menor a mayor) por el método de selección directa*/
ordSelDirecta(int *v, int n)
{
int i, j, k, aux;
for(i=0;i<n;i++)
{
k=i;
aux=v[i];
for(j=i+1;j<n;j++)
{
if(v[j]<aux)
{
k=j;
aux=v[j];
}
}
v[k]=v[i];
v[i]=aux;
}
}
Comentarios
Publicar un comentario