Stacks and Queues
(independent simply means that the method works right no matter what class it is in).
Exercise 1
Write an independent method public long removeSecond (StackX stack): It removes and
returns the element just below the top element if the stack has at least two elements, otherwise it
simply returns null without modifying the stack.
Exercise 3 (harder)
Write an independent method
public static void removeDownTo (StackX stack, long ob): It pops all values off the
stack down to but not including the first element it sees that is equal to the second parameter. If
none are equal, leave the stack empty.
Exercise 4 (harder)
Write an independent method public static Object removeSecond (Queue queue): It
removes and returns the element just behind the front element. Precondition: The queue has at
least two elements. Hint: Create a new object totally different from any that could possibly be on the
queue.
Exercise 5*
Write an independent method
public static void transfer (StackX one, StackX two): It transfers all elements in
the first parameter onto the top of the second parameter, keeping the same order. So what was
initially on top of one ends up on top of two . Hint: Use a third stack temporarily.
Exercise 6*
Write an independent method public static void reverse (Queue queue): It reverses the
order of the elements on the queue.
Exercise 7**
Write an independent method
public static void removeBelow (Queue queue, long ob): It removes all values from
the queue that come after the first element it sees that is equal to the second parameter. If none are
equal, leave the queue as it was originally.
Exercise 8**
Write an independent method named
interchange(StackX one, StackX two): You have two StackX parameters. All the items on
each stack are to end up on the other stack in the same order, so that each stack has the items
that the other stack had at the beginning. Use only one additional temporary stack.
Exercise 10 (harder)
Add a method public boolean equals (long ob)to the StackX class: The executor tells
whether ob is an StackX whose elements are equal to its own in the same order.
Exercise 11*
Add a method public int search (long ob)to the StackX class: The executor tells how many
elements would have to be popped to have ob removed from the stack; it returns -1 if ob is not in
the stack.
Exercise 14.14
Add a method public String toString() to the Queue class: The executor returns the
concatenation of the string representation of all elements currently in the queue with a tab character
before each element, in order from front to rear. This is very useful for debugging purposes.
Exercise 14.15 (harder)
Write a method public void removeAfter (long ob)
that could be added to Queue: The executor removes all values from the queue that come after the
element closest to the rear that is equal to the parameter. If none are equal, leave the queue as it
was originally. Handle ob == null correctly.
Exercise 14.16*
Add a method public boolean equals (long ob) to the Queue class: The executor tells
whether ob is an Queue with whose elements are equal to its own in the same order. Do not throw
any Exceptions.
Exercise 14.17*
Add a method public void clear() to the Queue class: The executor deletes all the elements
it contains, thereby becoming empty.
Get Free Quote!
445 Experts Online