Design a Satellite List including a set of operations for it and implement a class to handle integer data. Include a test program which uses this class.

We started to discuss the satellite list in class. Here is an explanation which I hope clears up some of the confusion.

The "satellite list", involves conceptually having two linked list nodes per item of real data. Each node has a link to its sibling, and a link to one of the nodes in the next item along the list. The clever bit is that each node's next-item link links to whichever of the nodes in the next item doesn't link back to this item; so you can traverse the list very efficiently in either direction just by following next-item links. To turn round and go back the way you came, you simply follow one sibling link, which effectively makes a U-turn. The data is copied into both sibling nodes or both siblings must point to a separate data node.

See papers for more details the Osterman/Rego document includes a description of the traveling saleman problem