All pastes #166987 Raw Edit

Stuff

public java v1 · immutable
·published 2006-09-11 14:48 UTC
rendered paste body
public class ListDL {  private NodeDL first;  private NodeDL last;  private int count;  public ListDL(){		first = null;		last = null;		count = 0;	}  public NodeDL getfirst(){		return first;	}	  public NodeDL getlast(){		return last;	}  public boolean isEmpty(){		return (first == null);	}  public void insert_before(NodeDL node, NodeDL node2){	  node.next = node2;	  node.prev = node2.prev;	  node2.prev = node;	  if(node.prev == null){	    first = node;	  }	  else{	    node.prev.next = node;	  }	  count++;	}		public void insert_after(NodeDL node2, NodeDL node){	  node.prev = node2;	  node.next = node2.next;	  node2.next = node;	  if(node.next == null){	    last = node;	  }	  else{	    node.next.prev = node;	  }	  count++;	}		public void insert_by_rank(NodeDL node){	  NodeDL node2 = first;	  if(node2 == null){	    insert_last(node);	  }	  else{	    /*if(node.value.time < node2.value.time){	      insert_before(node,node2);	    }	    else{	      node2 = node2.next;	    }	    */	  }	}    public void remove_specific(NodeDL node){		if(node == null){			return;		}				if(node.prev == null){			first = node.next;		}		else{			node.prev.next = node.next;		}				if(node.next == null){			last = node.prev;		}		else{			node.next.prev = node.prev;		}				count--;	}    public NodeDL remove_first(){		NodeDL node = first;		if(node != null){			remove_specific(node);		}		return node;	}		public NodeDL remove_last(){		NodeDL node = last;		if(node != null){			remove_specific(node);		}		return node;	}  public void insert_first (Object o) {    NodeDL newNode = new NodeDL(o, null, null);    newNode.setNext(first);    if (isEmpty())       last = newNode;    else      first.setPrev(newNode);    first = newNode;  }  public void insert_last (Object o) {    NodeDL newNode = new NodeDL(o, null, null);    newNode.setPrev(last);    if (isEmpty())       first = newNode;    else      last.setNext(newNode);    last = newNode;  }    public String toString(){    NodeDL node = first;    String str = "";    while(node != null){      str += " " + node.value;      node = node.next;      //node = node.getNext();    }    return str;  }}