Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Node header;
- public DoublyLinkedDeleteFirst() {
- header = new Node();
- }
- //removes the node at position 1 and returns
- //the string contained in that node
- public String deleteFirst() {
- //implement
- Node temp = header;
- try {
- temp = temp.next.next;
- Node deleted = temp;
- temp.previous.next = temp.next;
- temp.next.previous = deleted.previous;
- return deleted.value;
- }catch (NullPointerException e) {
- throw new IllegalStateException();
- }
- }
- public boolean isEmpty() {
- if(header == null)
- return true;
- return false;
- }
- // adds to the end of the list
- public void addLast(String item) {
- Node next = header;
- while (next.next != null) {
- next = next.next;
- }
- Node n = new Node();
- n.value = item;
- next.next = n;
- n.previous = next;
- }
- @Override
- public String toString() {
- StringBuilder sb = new StringBuilder();
- toString(sb, header);
- return sb.toString();
- }
- private void toString(StringBuilder sb, Node n) {
- if (n == null)
- return;
- if (n.value != null)
- sb.append(" " + n.value);
- toString(sb, n.next);
- }
- class Node {
- String value;
- Node next;
- Node previous;
- public String toString() {
- return value == null ? "null" : value;
- }
- }
- public static void main(String[] args) {
- DoublyLinkedDeleteFirst list = new DoublyLinkedDeleteFirst();
- list.addLast("Inter Millan");
- list.addLast("Barcelona");
- //list.addLast("Manchester United");
- String deleted = list.deleteFirst();
- System.out.println("This item was deleted: " + deleted);
- System.out.println(list);
- }
- }
Add Comment
Please, Sign In to add comment