La Web del Programador: Comunidad de Programadores
 
    Pregunta:  6589 - COMO IMPLEMENTAR EL METODO DE ORDENAMIENTO POR SELECCION
Autor:  Elizabeth Zhunio Salinas
NECESITO AYUDA CON UN PROGRAMA EN C++, EL PROGRAMA DEBE REALIZAR EL METODO DE ORDENAMIENTO POR SELECCION USANDO PUNTEROS A ESTRUCTURAS;DICHO METODO ORDENA UN VECTOR EN FORMA ASCENDENTE.
AGRADEZCO MUCHO A QUIEN ATIENDA MI SOLICITUD.
!GRACIASĀ”

  Respuesta:  Ismael Mosquera Rivera
Espero que estas rutinas escritas en C solucionen tu problema.

/* funcion para intercambio de posiciones */
void swap(int i,int j,int *p_v){
int temp; // variable de almacenamiento temporal

temp = p_v[i]; // intercambio de posiciones
p_v[i] = p_v[j];
p_v[j] = temp;
}// fin swap

/* ordena el vector que se le pasa por parametro
mediante el metodo de seleccion */
void seleccion(int *v){
int i,j,c_m,i_m;

for(i = 0;i < MAX-1;i++){
i_m = i; // situar indice menor
c_m = v[i]; // situar valor menor
for(j = i+1;j < MAX;j++){ // comparar con resto del array
if(v[j] < c_m){ // si hay un valor menor
c_m = v[j]; // colocarlo como valor menor
i_m = j; // actualizar indice menor
}
}
swap(i,i_m,v); // intercambiar para ordenar
}
}// fin seleccion