Question: Need a testdriver/ test java code to go with my code. You can use eclipse for this. Make a test code to go with my
Need a testdriver/ test java code to go with my code. You can use eclipse for this.
Make a test code to go with my code:
Here's my code below:
SortedList.java:
class SortedList
{
private LLNode
private LLNode
private int size;
SortedList()
{
head = currentNode = null;
size = 0;
}
@Override
public int size()
{
return size;
}
@Override
public boolean isEmpty()
{
return (size == 0);
}
@Override
public void add(E element)
{
LLNode
if(head == null)
{
head = newNode;
return;
}
LLNode
LLNode
while(iterator != null)
{
if(iterator.getInfo().equals(element))
{
// element already exists.
return;
}
else if(iterator.getInfo().compareTo(element) < 0)
{
if(prev != null)
{
prev.setNext(newNode);
}
else
{
head = newNode;
}
size++;
return;
}
// keep traversing.
else
{
prev = iterator;
iterator = iterator.getNext();
}
}
}
@Override
public boolean remove(E element)
{
if(head == null) return false;
LLNode
LLNode
while(iterator.getNext() != null)
{
if(iterator.getInfo().equals(element))
{
prev.setNext(iterator.getNext());
size--;
return true;
}
else
{
prev = iterator;
iterator = iterator.getNext();
}
}
// check if last element is the one.
if(iterator.getInfo().equals(element))
{
prev.setNext(null);
return true;
}
return false;
}
@Override
public boolean contains(E element)
{
if(head == null) return false;
LLNode
while(iterator.getNext() != null)
{
if(iterator.getInfo().equals(element))
{
return true;
}
}
// check if last element is the one.
// return true if yes, false if not.
return (iterator.getInfo().equals(element));
}
@Override
public E get(E element)
{
if(head == null) return null;
LLNode
while(iterator.getNext() != null)
{
if(iterator.getInfo().equals(element))
{
return element;
}
}
return (iterator.getInfo().equals(element)) ? element : null;
}
@Override
public void resetIterator()
{
currentNode = head;
}
@Override
public E getNextItem()
{
if(currentNode == null) return null; // just in case if it is called on empty list.
E element = currentNode.getInfo();
if(currentNode.getNext() != null)
{
currentNode = currentNode.getNext();
}
else
{
// set to head.
currentNode = head;
}
return element;
}
@Override
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append("[");
if(head == null)
{
sb.append("]");
return sb.toString();
}
LLNode
while(iterator != null)
{
sb.append(iterator.getInfo().toString() + ", ");
}
sb.append("]");
return sb.toString();
}
}
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
