Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

User package lib 2 8 0 . list; import lib 2 8 0 . base.BilinearIterator 2 8 0 ; import lib 2 8 0 .

User
package lib280.list;
import lib280.base.BilinearIterator280;
import lib280.exception.BeforeTheStart280Exception;
import lib280.exception.ContainerEmpty280Exception;
/** A LinkedIterator which has functions to move forward and back,
and to the first and last items of the list. It keeps track of
the current item, and also has functions to determine if it is
before the start or after the end of the list. */
public class BilinkedIterator280 extends LinkedIterator280 implements BilinearIterator280
{
/** Constructor creates a new iterator for list 'list'.
Analysis : Time = O(1)
@param list list to be iterated */
public BilinkedIterator280(BilinkedList280 list)
{
super(list);
}
/** Create a new iterator at a specific position in the newList.
Analysis : Time = O(1)
@param newList list to be iterated
@param initialPrev the previous node for the initial position
@param initialCur the current node for the initial position */
public BilinkedIterator280(BilinkedList280 newList,
LinkedNode280 initialPrev, LinkedNode280 initialCur)
{
super(newList, initialPrev, initialCur);
}
/**
* Move the cursor to the last element in the list.
* @precond The list is not empty.
*/
public void goLast() throws ContainerEmpty280Exception
{
// TODO
}
/**
* Move the cursor one element closer to the beginning of the list
* @precond !before()- the cursor cannot already be before the first element.
*/
public void goBack() throws BeforeTheStart280Exception
{
// TODO
}
/** A shallow clone of this object.
Analysis: Time = O(1)*/
public BilinkedIterator280 clone()
{
return (BilinkedIterator280) super.clone();
}
}
The BilinkedList280 and BilinkedIterator280 classes in lib280-asn1 are incomplete. There
are missing method bodies in each class. Each missing method body is tagged with a // TODO comment. Write code to implement each of these unfinished method.
Implementation Notes
The javadoc headers for each method explain what each method is supposed to do3
. Many of the
methods you must implement override methods of the LinkedList280 superclass.
Add your code right into the existing files within the lib280-asn1 module.
When implementing the methods, consider carefully any special cases that might cause need to update
the cursor position, or ensure that it remains in a valid state.
You are not permitted to modify any existing code in the .java files given. You may only fill in the
missing method bodies.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Systems For Advanced Applications 15th International Conference Dasfaa 2010 Tsukuba Japan April 2010 Proceedings Part 1 Lncs 5981

Authors: Hiroyuki Kitagawa ,Yoshiharu Ishikawa ,Wenjie Li ,Chiemi Watanabe

2010th Edition

3642120253, 978-3642120251

More Books

Students also viewed these Databases questions

Question

Explain walter's model of dividend policy.

Answered: 1 week ago