public void insert(int d) { if (head.getData() > d) // Case 1: Insertion before head { head = new Node2(d, head); head.getNext().setPrevios(head); } else { Node2 current = head; while (current != null) { if (current.getData() < d) { current = current.getNext(); } else // Case 2: Insertion into middle of list { current.getPrevios().setNext(new Node2(d, current, current.getPrevios())); current.setPrevios(current.getPrevios().getNext()); break; } if (current == null) // Case 3: insert at end { last.setNext(new Node2(d, null, last)); last = last.getNext(); } } } }
public String toString() { String s = ""; Node2 current = head; while (current != null) { s = s + current.getData() + " "; current = current.getNext(); } return s; }
public Node2 find(int data) { Node2 current = head; while (current != null) { if (current.getData() == data) { break; } else { current = current.getNext(); } } return current; }