CS 153 Data Structures I
Programming Assignment #8

Due: 10/11/01

This programming assignment is designed to:

NOTE ON THE USE OF PREVIOUS FILES - you MAY simply extend the capabilities of assignment #7. If you used the number 7 in the name, that's OK; just be sure to clearly label it as number 8 in your file header comments.

The following changes should be made to the Classes and functions from assignment #7.

Programming aid:

In the operator== function above you receive an argument OBJECT 
(not a location of an object) of declared type Node when in fact 
it is of type strData. When you know this you can safely cast it 
to the correct type in a couple ways.
   ((strData &)arg).mName    Think of this as saying, you received
                             a Node by reference - now think of it
                             as being a strData by reference and I
                             want the mName field contained within
OR
 ((strData *) (&arg)) -> mName  Give me the memory location of the
                                object that was passed in (arg);
                                now think of that as being the location
                                of an strData object and I want the
                                mName field contained within

Always, given a pointer, P, to SomeObj that contains a field SomeFld
you have the following choices for getting at the SomeFld field

P->SomeFld
(*P).SomeFld

Or the reverse, given the name (X) of SomeObj that contains a field SomeFld
you have the following choices for getting at the SomeFld field

X.SomeFld
(&X)->SomeFld