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; } } }
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++; } }