Project 1: Implementing and comparing sorting algorithms
Due midnight Jan 12, or as specified by your instructor.

Implement the five sorting algorithms we discussed in class: Create XXXSorter classes with sort methods for each of these algorithms. Source code for SelectionSorter and MergeSorter are available in Chapter 14 of the Horstmann textbook--you may use that code. You will need to implement the other three algorithms; psuedocode for those algorithms are available in our slides.

In addition, create a SortDemo class that creates a random integer array of a specific size, and then sorts and times the different sorting algorithms on the array (use the SearchDemo program as a pattern). Run the program at least 10 times using different array sizes each time and then tabulate and plot the performance of the five algorithms for each run. Select the array sizes properly so that the comparison between the different algorithms makes sense as discussed in class.

Submit a zip file containing all your source code and the document containing your tabulation and plot (you may use MS Excel or other similar software).