Assignment 25584

Insertion Sort: implement using a doubly linked list
Merge Sort: use whatever data structure you want (array or linked list)
Quick (Pivot) Sort: use whatever data structure you want (array or linked list)
Along with your sorting methods I also expect you to provide a driver class called ‘SortingDriver.java’. You do not need to implement a user interface. You can hardcode your test cases if you like.
Test Cases
As with all our projects, you are expected to generate your own test cases. Consider cases where the data you want to sort is already sorted, or sorted in reverse.
Questions
Which algorithm performs the best when the data is already sorted or nearly so?
If reliable performance is important which sorting algorithm is best?
What can cause Quick sort to perform poorly?