#include <stdio.h>
#define N 8
void selection(int a[], int n);
void swap( int *x, int *y);
main()
{
int a[N]={7,3,66,3,-5,22,-77,2}, i;
selection(a,N);
for (i=0;i<N;i++)
printf("%d ", a[i]);
}
void selection(int a[], int n)
{
int i, j, current_max_index;
for(j = n-1; j > 0; j--)
{
current_max_index = 0;
for ( i=0; i< j+1 ; i++)
if ( a[i] > a[current_max_index] )
current_max_index = i;
swap( &a[current_max_index], &a[j]);
}
}
void swap( int *x, int *y)
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}