#include void selectionSort(double list[], int N); int main(int argc, char *argv[]) { double myList[] = { 8, 4, 3, 7, 5, 6}; int N = 6; for ( int i = 0; i < N; i++ ) printf("%lf ", myList[i]); printf("\n"); selectionSort( myList, N ); for ( int i = 0; i < N; i++ ) printf("%lf ", myList[i]); printf("\n"); } void selectionSort(double list[], int N) { for (int k = 0; k < N-1; k++) { // Find the minimum value and its index in the list[k..N-1] double min = list[k]; // Assume first element is min int indexOfMin = k; // Index of current min for ( int i = k+1; i < N; i++ ) if ( list[i] < min ) // We found a smaller element { min = list[i]; // Update min value indexOfMin = i; // Update its index in array } // Swap list[k] with list[indexOfMin] if necessary; if ( indexOfMin != k ) { // Swap list[indexOfMin] and list[k] double help = list[indexOfMin]; list[indexOfMin] = list[k]; list[k] = help; } } }