Método de Ordenamiento Por Selección
#include <stdio.h> #include <stdlib.h> void ordenarSeleccionEnt(int * vec, size_t ce); int * buscarMenorEnt(const int * vec, const int * fin); void intercambiarEnt(int * e1, int * e2); int main() { int vec[]={14,12,5,4,1,3,6,8,15,2,7,9,13,10,11}; int ce= sizeof(vec)/sizeof(int); int i; ordenarSeleccionEnt(vec, ce); for (i=0; i<ce; i++) { printf(" %d |", vec[i]); } printf("\n"); return 0; } void ordenarSeleccionEnt(int * vec, size_t ce) { int * fin = vec + ce - 1, * men; while(vec < fin) { men = buscarMenorEnt(vec, fin); if (vec!=men) { intercambiarEnt(vec, men); } vec++; } } int * buscarMenorEnt(const int * vec, const int * fin) { const int * men = vec; vec++; while(vec <= fin) { if (*vec<*men) { men = vec; } vec++; } return (int *) men; } void intercambiarEnt(int * e1, int * e2) { int aux = *e1; *e1 = *e2; *e2 = aux; }