All pastes #746077 Raw Edit

Mine

public text v1 · immutable
·published 2007-10-22 22:43 UTC
rendered paste body
public T delete(myDLNode<T> p) throws InvalidPositionException {
	if(p == null) {
 		throw new InvalidPositionException("delete.");
 	}
	if(p == head) {
		if(isEmpty()) {
			head = null;
			tail = null;
		} else if(head.getNext() == null) {
			head.next = p;
			p.prev = null;
		    head = head.next;
		    tail = head;
		    size--;
		} else {
		head.next = p;
		p.prev = null;
	    head = head.next;
	 	size--;
		}
	} else if(p == tail) {
		if(isEmpty()) {
			head = null;
			tail = null;
		} else if(tail.getPrevious() == null) {
			tail.prev = p;
			p.next = null;
		    tail = tail.prev; 
		    head = tail;
		    size--;
		} else {
		tail.prev = p;
		p.next = null;
	    tail = tail.prev; 
	    head = tail;
		size--;
		}
	} else {
		p.getPrevious().setNext(p.getNext());
		p.getNext().setPrevious(p.getPrevious());
		p.setNext(null);
		p.setPrevious(null);
		size--;
	}
 	return (p.getElement()); 		
}