/* * selection_sort.c * A very basic implementation of Selection Sort * * From King, page 216, PP 1. * */ #include #define LEN 4 void print_array(int array[], int size){ int i; for (i = 0; i < size; i++){ printf("%i", array[i]); } } void selection_sort(int array[], int array_length){ int i, temp, big; // Find maximal element of array big = array[i]; for (i = 0; i < array_length; i++){ if (array[i] > big){ big = array[i]; // problems here?? } } // switch big with the last element in the array temp = array[LEN - 1]; array[LEN - 1] = big; big = temp; // Recursion! array_length -= 1; if (array_length > 0){ selection_sort(array, array_length); } //else { // return array; //} } int main(){ int array[LEN], i; // printf("Enter %i numbers to be sorted \n", LEN); // for (i = 0; i < LEN; i++){ // scanf("%d", &array[i]); //} // Test case array[0] = 3; array[1] = 2; array[2] = 5; array[3] = 1; selection_sort(array, LEN); print_array(array, LEN); return 0; }