Step 2:
The poly.h header file contains a prototype for a private member
function that will make it easier to implement everything else:
// A private member function to aid the other functions:
void set_recent(unsigned int exponent) const;
The set_recent function will set the recent_ptr to the polynode that
contains the requested exponent. If no such exponent exists, then
recent_ptr should be set to the last polynode that is still less than the
specified exponent. Note that set_recent is a const member function, but
that it can still change the mutable recent_ptr member variable. My
implementation of set_recent used four cases:
If the requested exponent is zero, then set recent_ptr to the head of the list.
Else if the exponent is greater than or equal to the current_degree, then set
recent_ptr to the tail of the list.
Else if the exponent is smaller than the exponent in the recent polynode,
then move the recent_ptr backward as far as needed.
Else move the recent_ptr forward as far as needed.
Question, so I understand that when exponent is 0, it has to be the head since it's the only one, and I understand when they recent>current, recent=tail, the next 2 else statement makes 0 sense to me :((((