If the given project (e.g., Q1) runs with errors, you need to run "Clean and Build Project" (Shift+F11).
If it still has errors, try to rename or copy the project to another project, e.g., from Q1 to Q1X or Q1Y.
Student and Scholarship Management System Description
The provided files contain code to implement a student and scholarship management program. The
structure of the main classes is as follows:
.
Student Class: contains information about a student, including id, name, gpa, major, and
balance (amount in the account)
TreeNode Class: includes a Student object and left/right pointers for the BST structure
ListNode Class: includes a Student object and a next pointer for linking
StudentBST Class: a binary search tree managing all students in the system

ScholarshipList Class: a linked list managing scholarship recipients
StudentManager Class: the main class of the program, containing StudentBST to store data
about existing students in the system and ScholarshipList corresponding to the list of
scholarship recipients
Note: In this problem, when a student belongs to the scholarship list, the scholarship amount is
stored in the balance field of the Student object.
Students need to carefully read the provided code to fully understand the relationship between
classes and the functions in each class. The specific tasks of the exam are to implement the following
requirements:
Requirements
f1(): (2.5 points)
To complete the f1 requirement, students need to perform two specific tasks:

Implement the insert() function in the StudentBST structure - insert a new student into the
BST
Implement the addLast() function in the ScholarshipList structure - add a student to the end
of the scholarship list
Expected output to check your code:
Student BST (Inorder Traversal):
(S001, John, 3.8,CS,100.0) (S002, Mary, 3.5,Business, 150.0) (S003, David, 3.9,CS,200.0)
(S004, Sarah,3.2,IT, 120.0) (S005, Michael, 3.7,Engineering, 180.0)
Scholarship List: