The third programming project involves designing, writing and testing a program that performs a sort by using a binary search tree. The program should be able to sort lists of integers or lists of fractions in either ascending or descending order. One set of radio buttons should be used to determine whether the lists contain integers or fractions and a second set should be used to specify the sort order. The main class P3GUI should create the GUI shown below:
The GUI must be generated by code that you write. You may not use a drag-and-drop GUI
Pressing the Perform Sort button should cause all the numbers in the original list to be added to a
binary search tree. Then, an inorder traversal of the tree should be performed to generate the list in
sorted order and that list should then be displayed in the Sorted List text field.
In addition to the main class that defines the GUI, you should have a generic class for the binary
search tree. That class needs a method to insert a new value in the tree and a method that performs
an inorder tree traversal that generates and returns a string that contains the tree elements in sorted
order. The insert method does not need to rebalance the tree if it becomes unbalanced. It should
allow duplicate entries and it must be written using recursion.
The third class required for this project is one that defines fractions. It should have a constructor
that accepts a string representation of a fraction and a toString method. It must implement the
Comparable interface, which means a compareTo method is also required.