Sorting Algorithms
The programming Language is C++. I have attached the requirements below.
CS 2413 Data Structures
Program Assignment #4
Sorting Algorithms
Focus on Sorting Algorithms and Object-oriented programming
Task
:
Write a class, namely sorting, that contains at least seven functions: (1) constructor that initializes all the data members if any; (2)start function that reads the data size and maximum number in the list from the keyboard, then generates data set, then call a proper function to sort; (3) selection sort function that carries out a selection sort and counts how many comparisons and moves; (4) insertion sort that conducts an insertion sort and counts how many comparisons and moves; (5) quick sort function that does a quick sort and counts how many comparisons and moves; (6) merge sort function that performs a merge sort and counts how many comparisons and moves; and (7) print function that prints the first 15 elements of the sorted list and the sorting results.
REQUIREMENTS:
1. You must have a program design file you may suffer 10 % percent penalty if you failed to do so.
2. You must have a readme file that instructs readers how to compile and run your program you may suffer 10 % percent penalty if you failed to do so.
3. You must comment your program properly (including proper comments and program synopsis.) you may suffer 10 % percent penalty if you failed to do so.
4. You must put your functions and variables together to form a class—Sorter.
5. You must turn on a copy of the output of your program
6. A late project will NOT be accepted and No exceptions.
Design
:
You use the general random number generator to produce a set of random numbers, and then make enough copies for your sorting algorithms. Then sends a copy of the list to each of sorting algorithms. Finally, each algorithm produces a sorting report.
Input:
Your program needs two integers from keyboard: the size of list and maximum number in your list.
Output:
The first 20 elements in the sorted list, # of comparisons from each sorting algorithm.
Your one run’s output may look like:
Enter list size: 100
Enter max number in the list: 100
Unsorted list:
89 2 3 21 5 10 34 1 81 88 40 36 37 1 5 28 21 30….
Sorted List:
Select Sort: 1 1 2 2 2 3 3 3 3 4 4 4 4 5 5 …
Insertion Sort: 1 1 2 2 2 3 3 3 3 4 4 4 4 5 5 …
Quick Sort: 1 1 2 2 2 3 3 3 3 4 4 4 4 5 5 …
Merge Sort: 1 1 2 2 2 3 3 3 3 4 4 4 4 5 5 …
… …
Sorting Results:
Algorithm Comparisons
Select 4950
Insertion 2048
Quick …
Merge …
… …
Your main function may look like:
int main ()
{
sorter mysort;
mysort.start();
return 0;
}
Due:
April 27,
Tuesday, 2021 11:59 pm
. Turn in a soft copy of all the required documents to the blackboard.