Java Reference
In-Depth Information
Eve would then continue, counting three more suitors, and eliminate every third
suitor. When she reached the end of the line, she would continue counting from
the beginning.
For example, if there were six suitors, the elimination process would proceed
as follows:
123456 Initial list of suitors; start counting from 1.
12456 Suitor 3 eliminated; continue counting from 4.
1245 Suitor 6 eliminated; continue counting from 1.
125 Suitor 4 eliminated; continue counting from 5.
15 Suitor 2 eliminated; continue counting from 5.
1 Suitor 5 eliminated; 1 is the lucky winner.
Write a program that creates a circular linked list of nodes to determine which
position you should stand in to marry the princess if there are n suitors. Your
program should simulate the elimination process by deleting the node that
corresponds to the suitor that is eliminated for each step in the process.
2.
Although the long data type can store large integers, it can't store extremely large
values such as an integer with 200 digits. Create a HugeNumber class that uses a
linked list of digits to represent integers of arbitrary length. The class should have
a method to add a new most significant digit to the existing number so that
longer and longer numbers can be created. Also add methods to reset the num-
ber and to return the value of the huge integer as a String along with appropri-
ate constructor or accessor methods. Write code to test your class.
Note: Use of a doubly linked list will make the next problem easier to implement.
3.
Add a copy constructor to the HugeNumber class described in the previous prob-
lem that makes a deep copy of the input HugeNumber . Also create an add method
that adds an input HugeNumber to the instance's HugeNumber value and returns a
new HugeNumber that is set to the sum of the two values. Write code to test the
additions to your class.
4.
Give the definition of a generic class that uses a doubly linked list of data items.
Include a copy constructor, an equals method, a clone method, a toString
method, a method to produce an iterator, and any other methods that would
normally be expected. Write a suitable test program.
5.
Complete the definition of the binary search tree class IntTree in Display 15.39 by
adding the following: Make IntTree implement the Cloneable interface, including
the definition of a clone method; add a copy constructor; add an equals method;
add a method named sameContents as described later in this project; add a
toString method; and add a method to produce an iterator. Define equals so that
two trees are equal if (and only if) the two trees have the exact same shape and have
the same numbers in corresponding nodes. The clone method and the copy con-
Search WWH ::




Custom Search