Student records system implemented in C using list of arrays, linked lists and AVL trees.
It is a menu-driven terminal-based application to perform various operations on student records.
The student record attributes include:
- Roll Number
- Subject Code
- Student Name
- Marks Obtained
The operations include:
- Insert/Update entries
- Delete an entry
- Get number of active records
- Check whether list is empty or not
- Check whether list is fully occupied or not
- Find topper(s) of a particular subject
- Insert entries which may contain duplicates
- Remove duplicate entries
- Get union of 2 lists
- Get intersection of 2 lists
- Get difference of 2 lists
- Get symmetric difference of 2 lists
- Display all the entries
- Clear the whole list
In case of tree, some additional operations include:
- Search for an entry
- Find the height of the tree
- Search for entries in the provided range
The project is implemented using 3 different methods:
- Arrays, where the student records are stored in lists of arrays
- Linked Lists, where the student records are stored in the form of a linked list
- Trees, where the student records are stored in the form of an AVL tree
For Linked List and Tree implementation, an option of populating the records through file is also provided.