// 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(); }