The program has the following menu options:
1- Author Info
2- Add Student
3- Add Faculty
4- Sort by ID (selection sort)
5- Sort by ID (radix sort)
6- Sort Students by GPA (merge sort)
7- Sort Faculty by course load (insertion sort)
8- Print data
0- Exit
Where:
1 prints the program author info
2 allows the user to enter new student data, including name, ID, and GPA
3 allows the user to enter new faculty data, including name, ID, and course load
4 asks the user to pick faculty or students, then sorts the entered data of the chosen type in ascending order by ID value using selection sort
5 asks the user to pick faculty or students, then sorts the entered data of the chosen type in descending order by ID value, using radix sort
6 sorts the students by GPA in ascending order, using merge sort
7 sorts the faculty by course load in ascending order, using insertion sort
8 prints all student and faculty data
0 exits the program
The code also provides an extra "hidden" menu option -1, if the user select this option the student and faculty data will be filled with sample data.
The Faculty and Student classes implement the Comparable interface.