It is assumed you are keeping up to date with the lectures and labs.
Some additional git information is available through the
git quick notes,
git project/lab submission, and
lecture resources pages.
In this lab we start working with C++ classes, using them to build our own linked list class and then use that class in a small application.
Be sure to follow the course code standards. Marks will be deducted for failing to follow standards.
// finds, removes, and deletes the bug with the provided name,
// but still leaving the tree in a valid form
// returns true if successful, false otherwise
// (uses the protected remove method to do the actual work)
bool remove(string name);
// overloaded = operator, copies content of bugtree b into current (duplicates data)
// (uses copyAllFrom to do the work)
bugtree& operator=(const bugtree& b);
// finds and removes the bug with the specified name from the subtree b,
// while leaving the tree in a valid binary search tree form
// returns true if successful, false otherwise
bool remove(string name, bug* &b);
// returns a pointer to the bug with the alphabetically 'lowest' name
// from within the subtree b (null if b is null)
// largest does similarly for the alphabetically 'highest' name
bug* smallest(bug* b);
bug* largest(bug* b);
// goes pre-order traversal of subtree b (b, then b's left, then b's right)
// and on each b it inserts a bug with b's name/desc/file
// into the current true (takes b's data and calls insert)
// returns a count of the number of bugs successfully copied
int copyAllFrom(bug* b);