Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Design, write and test a program that performs a sort by using a binary search tree. The program should be able to sort lists of

Design, write and test 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 Swing based GUI shown below. The GUI must be generated by code that you write. You may not use a drag-and-drop GUI generator.

image text in transcribed

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. Other methods may be defined if needed.

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. A second example of a run of this program is shown below that sorts fractions in descending order:

image text in transcribed

Note that fractions are to be written with a slash separating the numerator and denominator with no spaces on either side of the slash. Spaces should be used to separate the fractions.

***MOST IMPORTANT PART!!!!!!****The only error checking required of this program is to check for nonnumeric input or improperly formatted fractions such as 3/4/8. A nonnumeric input should cause a NumberFormatException to be thrown. A malformed fraction should cause a custom exception MalformedFractionException to be thrown. The main class must catch these exceptions and display an appropriate error message as shown below for NumberFormatException (for MalformedFractionException the displayed message should be Malformed Fraction). ***MOST IMPORTANT PART!!!!!!****

Binary Search Tree Sort Original List 482123 16 8 163 14 2 10 24 Sorted List 1223488 10 14 16 16 23 24 Perform Sort Sort Order O Ascending O Descending Numeric Type Integer Fraction Binary Search Tree Sort Original List 482123 16 8 163 14 2 10 24 Sorted List 1223488 10 14 16 16 23 24 Perform Sort Sort Order O Ascending O Descending Numeric Type Integer Fraction

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Genetic Databases

Authors: Martin J. Bishop

1st Edition

0121016250, 978-0121016258

More Books

Students also viewed these Databases questions

Question

Did you organize your thoughts and make a Table of Contents?

Answered: 1 week ago