APCS/04 ListNode/04 DLL/DLL.java
Rushil Umaretiya 3fc3554899 initial commit
2020-12-04 22:00:49 -05:00

120 lines
2.9 KiB
Java

// Name: B6-24
// Date: 11/22/19
// implements some of the List and LinkedList interfaces:
// size(), add(i, o), remove(i); addFirst(o), addLast(o);
// This class also overrides toString().
// the list is zero-indexed.
// Uses DLNode.
public class DLL //DoubleLinkedList
{
private int size;
private DLNode head = new DLNode(); //dummy node--very useful--simplifies the code
public int size()
{
return size;
}
/* appends obj to end of list; increases size;
@return true */
public boolean add(Object obj)
{
addLast(obj);
return true;
}
/* inserts obj at position index. increments size. */
public void add(int index, Object obj) throws IndexOutOfBoundsException //this the way the real LinkedList is coded
{
if( index > size || index < 0 )
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
/* enter your code below */
if (size == 0)
addFirst(obj);
else if (index == size)
}
/* return obj at position index. */
public Object get(int index)
{
if(index >= size || index < 0)
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
/* enter your code below */
}
/* replaces obj at position index.
returns the obj that was replaced*/
public Object set(int index, Object obj)
{
if(index >= size || index < 0)
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
/* enter your code below */
}
/* removes the node from position index (zero-indexed). decrements size.
@return the object of the node that was removed. */
public Object remove(int index)
{
if(index >= size || index < 0)
throw new IndexOutOfBoundsException("Index: " + index + ", Size: " + size);
/* enter your code below */
}
/* inserts obj at front of list, increases size */
public void addFirst(Object obj)
{
DLNode p = new DLNode
if (size == 0)
}
/* appends obj to end of list, increases size */
public void addLast(Object obj)
{
}
/* returns the first element in this list */
public Object getFirst()
{
}
/* returns the last element in this list */
public Object getLast()
{
}
/* returns and removes the first element in this list, or
returns null if the list is empty */
public Object removeFirst()
{
}
/* returns and removes the last element in this list, or
returns null if the list is empty */
public Object removeLast()
{
}
/* returns a String with the values in the list in a
friendly format, for example [Apple, Banana, Cucumber]
The values are enclosed in [], separated by one comma and one space.
*/
public String toString()
{
}
}