Coding exercise In this exercise, you will implement five sorting algorithms: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, and Quick Sort. The user interface for your sorting algorithms is provided in a file called main.cpp. The user selects what sorting algorithm needs to be run on an array. You are also provided with a file called helper.h that contains helper functions to fill an array with random integers and print an array. A file called sorting.h contains the declarations of the sorting algorithms.
//main.cpp file
#include <iostream>
#include "helper.h"
#include "sorting.h"
using namespace std;
int main() {
unsigned int size;
cout << "Enter the size of the array: ";
cin >> size;
int* Array = new int[size];
unsigned int choice = 0;
do {
fillRandom(Array, size);
cout << "Choose your sorting
cout << "1. Bubble Sort" << endl;
cout << "2. Selection Sort" << endl;
cout << "3. Insertion Sort" << endl;
cout << "4. Merge Sort" << endl;
cout << "5. Quick Sort" << endl;
cout << "6. Shell Sort" << endl; //Optional
cout << "Enter 0 to exit" << endl;
cout << "Your choice: ";
cin >> choice;
cout << "Unsorted Array: ";
print(Array, size);
/****************************
* TODO: Implement what you will do with the choice
*****************************/
cout << "Sorted Array: ";
print(Array, size);
} while(choice!=0);
delete [] Array;
return 0;
}
//helper.h
#ifndef HELPER_H_
#define HELPER_H_
#include <iostream>
#include <stdlib.h>
using namespace std;
void fillRandom(int *Array, const unsigned int size){
for(unsigned int i = 0; i < size; i++){
Array[i] = rand();
}
}
void print(int *Array, const unsigned int size){
for(unsigned int i = 0; i < size; i++){
cout << Array[i] << ", ";
}
cout << endl;
}
#endif /* HELPER_H_ */
//sorting.h
#ifndef SORTING_H_
#define SORTING_H_
void bubbleSort(int* Array, const unsigned int size);
void selectionSort(int* Array, const unsigned int size);
void insertionSort(int* Array, const unsigned int size);
void mergeSort(int* Array, const unsigned int size);
void quickSort(int* Array, const unsigned int size);
void shellSort(int* Array, const unsigned int size);
#endif /* SORTING_H_ */
![Coding exercise
In this exercise, you will implement five sorting algorithms: Bubble Sort, Selection Sort, Insertion Sort,
Merge Sort, and Quick Sort. The user interface for your sorting algorithms is provided in a file called
main.cpp. The user selects what sorting algorithm needs to be run on an array. You are also provided
with a file called helper.h that contains helper functions to fill an array with random integers and print
an array. A file called sorting.h contains the declarations of the sorting algorithms.](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fdb9f5d8b-0036-4232-a7c4-4e95eadce252%2F36ae3a2e-0242-491a-af43-b7a851624a8e%2F3bbf4t3_processed.jpeg&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 1 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Computer Networking: A Top-Down Approach (7th Edi…](https://www.bartleby.com/isbn_cover_images/9780133594140/9780133594140_smallCoverImage.gif)
![Computer Organization and Design MIPS Edition, Fi…](https://www.bartleby.com/isbn_cover_images/9780124077263/9780124077263_smallCoverImage.gif)
![Network+ Guide to Networks (MindTap Course List)](https://www.bartleby.com/isbn_cover_images/9781337569330/9781337569330_smallCoverImage.gif)
![Concepts of Database Management](https://www.bartleby.com/isbn_cover_images/9781337093422/9781337093422_smallCoverImage.gif)
![Prelude to Programming](https://www.bartleby.com/isbn_cover_images/9780133750423/9780133750423_smallCoverImage.jpg)
![Sc Business Data Communications and Networking, T…](https://www.bartleby.com/isbn_cover_images/9781119368830/9781119368830_smallCoverImage.gif)