#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; }