Answered step by step
Verified Expert Solution
Question
1 Approved Answer
I need help implementing the following sorting algorithms below in the code. Please don't change or modify the given functions in anyway. Heapsort can be
I need help implementing the following sorting algorithms below in the code. Please don't change or modify the given functions in anyway. Heapsort can be ignored and commented away. Recursive thinking is allowed. /* This program compares the following five sort algorithms: * Heapsort, mergesort, quick sort, select sort, and insert sort */ #include// Provides swap #include // Provides EXIT_SUCCESS, size_t #include // Provides cout #include // provide clock function. using namespace std; const size_t ARRAY_SIZE = 10000; // PROTOTYPES of the sorting functions used in this test program: // Each of these functions has the same precondition and postcondition: // Precondition: data is an array with at least n components. // Postcondition: The elements of data have been rearranged so // that data[0] <= data[1] <= ... <= data[n-1]. void heapsort(int data[ ], size_t n); void mergesort(int data[ ], size_t n); void quicksort(int data[], size_t n); void selectionsort(int data[ ], size_t n); void insertionsort(int data[], size_t n); // PROTOTYPE of a function that will test one of the sorting functions: void testsort(void sorter(int data[], size_t n), const char* name); int main( ) { cout << "This program will generate arrays with ARRAY_SIZE elements" < data[i]) { cout << "Incorrect sort at index " << i << endl; return; } --count[data[i]]; } for (i = 0; i < (size_t) LIMIT; ++i) { if (count[i] != 0) { cout << "Incorrect numbers in the data array after sorting." << endl; return; } } cout << "Sorting completed correctly "; cout << "in " << (ending - beginning)/1000.0 << " seconds " << endl; } //************************************************************************* // HEAPSORT IMPLEMENTATION: // Assume that the heap data stored in array. i.e. we view the array as heap size_t parent(size_t k) { } size_t left_child(size_t k) { } size_t right_child(size_t k) { } // make a heap based on given data array void make_heap(int data[ ], size_t n) { } void reheapify_down(int data[ ], size_t n) { } void heapsort(int data[ ], size_t n) { } //************************************************************************* //************************************************************************* // MERGESORT IMPLEMENTATION: // void merge(int data[ ], size_t n1, size_t n2) // Precondition: data is an array (or subarray) with at least n1 + n2 elements. // The first n1 elements (from data[0] to data[n1 - 1]) are sorted from // smallest to largest, and the last n2 (from data[n1] to data[n1 + n2 - 1]) // also are sorted from smallest to largest. // Postcondition: The first n1 + n2 elements of data have been rearranged to be // sorted from smallest to largest. // NOTE: If there is insufficient dynamic memory, then bad_alloc is thrown. // Library facilities used: cstdlib { } void mergesort(int data[ ], size_t n) // Precondition: data is an array with at least n components. // Postcondition: The elements of data have been rearranged so // that data[0] <= data[1] <= ... <= data[n-1]. // NOTE: If there is insufficient dynamic memory, thenbad_alloc is thrown. // Library facilities used: cstdlib { } //************************************************************************* //************************************************************************* // QUICKSORT IMPLEMENTATION: // //************************************************************************* size_t partition(int data[], size_t n) { } void quicksort(int data[], size_t n) { } //************************************************************************* // SELECTIONSORT IMPLEMENTATION: // void selectionsort(int data[ ], size_t n) // Library facilities used: algorithm, cstdlib { } //************************************************************************* //************************************************************************* // INSERTION SORT IMPLEMENTATION // void insertionsort(int data[], size_t n) // { }
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started