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_ */


Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 1 images









