/* * mergesort.cpp * Implementation of a bitonic mergesort */ /* merge(input, size, output, asc) Merge the two "sections" of the array input (which has `size` elements) into output. If asc is true, then the output array should be in ascending order; otherwise it should be descending. NOTE: It is allowed for the sections to be of *any* size; i.e., the dividing line between ascending and descending is not always at `size/2`! */ void merge(int* input, int size, int* output, bool output_asc) { // Your merge implementation goes here } /* mergesort(input, size, output, asc) Mergesort the input array (with size elements) into the output array. If asc is true, the output array should be sorted ascending, otherwise it should be descending. */ void mergesort(int *input, int size, int* output, bool output_asc) { // Your mergesort implementation goes here }