Exemplo n.º 1
0
 public void remove(int data) {
   if (size == 0) {
     throw new java.util.EmptyStackException();
   }
   for (NodeBi p = head; p.next != null; p = p.next) {
     if (p.next.data == data) {
       p.next = p.next.next;
       size--;
       break;
     }
   }
 }
Exemplo n.º 2
0
  public void add(int data) {
    NodeBi curr = new NodeBi(data);
    if (tail == null) {
      // since circular head and tail are the same
      tail = new NodeBi(data);
      head = tail;
      size++;
    } else {
      // update tail
      tail.next = curr;
      curr.prev = tail;
      tail = curr;

      // maintain circularity
      head.prev = tail;
      tail.next = head;
      size++;
    }
  }