// ALGORITMO DE ORDENAMIENTO POR SELECCION DE FORMA RECURSIVA #include <stdio.h> #include <string.h> #include <stdlib.h> int min=1000,z=0; int vector[] = {7,8,2,34,6,17,5,7,9,1,23,12}; void intercambio(int *x, int *y) { int suma = *x+*y; *x = suma - *x; *y = suma - *y; } void Fmin(int x, int memoria) { if ( x < memoria ) { if ( vector[x] < min ) { min = vector[x]; z=x; } x++; Fmin(x, memoria); } } void Sort_Selection(int x, int memoria) { if ( x < memoria ) { min=1000; Fmin(x, memoria); intercambio(&vector[x], &vector[z]); x++; Sort_Selection(x, memoria); } } void Muestra_Vector(int x, int memoria) { if ( x == memoria ) return; printf("%d\t", vector[x]); x++; Muestra_Vector(x, memoria); } void inicio() { int y,x,suma; int memoria= (int)(sizeof(vector)/sizeof(int)); Sort_Selection(0, memoria); Muestra_Vector(0, memoria); printf("\n"); } int main() { inicio(); }