modificato arraysequence in fake e aggiunti una nuova versione. fidato alcuni metodi che restituivano void invece di position. sono necessari ulteriori test

This commit is contained in:
2014-03-31 22:43:48 +02:00
parent 483863d410
commit eb15d53208
8 changed files with 414 additions and 76 deletions

View File

@@ -79,21 +79,22 @@ public class NodePositionList<E> implements PositionList<E> {
return next;
}
public void addBefore(Position<E> p, E element) throws InvalidPositionException {
public Position<E> addBefore(Position<E> p, E element) throws InvalidPositionException {
DNode<E> v = checkPosition(p);
numElts++;
DNode<E> newNode = new DNode<E>(v.getPrev(), v, element);
v.getPrev().setNext(newNode);
v.setPrev(newNode);
return newNode;
}
public void addAfter(Position<E> p, E element)
throws InvalidPositionException {
public Position<E> addAfter(Position<E> p, E element) throws InvalidPositionException {
DNode<E> v = checkPosition(p);
numElts++;
DNode<E> newNode = new DNode<E>(v, v.getNext(), element);
v.getNext().setPrev(newNode);
v.setNext(newNode);
return newNode;
}
public void addFirst(E element) {

View File

@@ -27,9 +27,9 @@ public interface PositionList<E> {
public void addLast(E e);
public void addAfter(Position<E> p, E e) throws InvalidPositionException;
public Position<E> addAfter(Position<E> p, E e) throws InvalidPositionException;
public void addBefore(Position<E> p, E e) throws InvalidPositionException;
public Position<E> addBefore(Position<E> p, E e) throws InvalidPositionException;
public E remove(Position<E> p) throws InvalidPositionException;