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.

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

//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 algorithm:" << endl;

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.
Transcribed Image Text: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.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 1 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY