## Description

In this project, the students are required to implement the following algorithms:

Insert Sort, Select Sort, Quick Sort, and Merge Sort.

One file is given:CSCI251ProjOne.java. Please study this file to understand what

is going on. This file cannot be modified.

One file is to implement: MySort.java. In this file, the students must provide the

following public interface:

public static void insertSort(int [] arr);

public static void selectSort(int [] arr);

public static void quickSort(int [] arr);

public static void mergeSort(int [] arr);

The quick sort and merge sort must be implemented by using recursive thinking.

So the students may provide the following private static methods:

//merge method

//merge two sorted portions of given array arr, namely, from start to middle

//and from middle + 1 to end into one sorted portion, namely, from start to end

private static void merge(int [] arr, int start, int middle, int end);

//merge sort recursive version

//sort the portion of giving array arr, from begin to end private static void

mergeSortRecursive(int [] arr, int begin, int end);

//find pivot point for quick sort

private static int pivot(int [] arr, int begin, int end);

//quick sort recursive version

//sort the portion of giving array arr, from begin to end

private static void quickSortRecursive(int [] arr, int begin, int end);

The student need to have and only have the above public and private static

methods in his/her implementation of MySort class.

Run Demo:

ProjectOne.jar is available for students to download and run on their computer.

The students may run to demo in the terminal window to see how program

should run. The students may watch YouTube video “How to Run Jar file in the

Terminal Window” or refer to the file “How to Run Jar File in the Terminal

Window.pdf” on blackboard Projects folder

Due Date: To be announced on blackboard.