// INSSORT.CPP // An implementation of an insertion sort algorithm. // compiler directives #include // function prototypes void insertion_sort(int array[], int arrayLength); void display_array(int input_array[], int input_size); int main() { int nums[5] = {20, 31, 17, 47, 14}; int nums_length = 5; cout << "Unsorted Array:\n"; display_array(nums, nums_length); insertion_sort(nums, nums_length); cout << "Sorted Array:\n"; display_array(nums, nums_length); return 0; } // Insertion sort function. Sorts an array of ints in descending order. void insertion_sort(int array[], int array_length) { int j, i, key; for (j = 1; j < array_length; j++) { key = array[j]; // Move all values smaller then key up one position. for (i = j - 1; (i >= 0) && (array[i] < key); i--) { array[i + 1] = array[i]; } array[i + 1] = key; // insert key into proper position } } // Function that simply displays each element of input_array. void display_array(int input_array[], int input_size) { int i; for (i = 0; i < input_size; i++) { cout << input_array[i] << ' '; } cout << "\n\n"; }