Advertisement
Guest User

Untitled

a guest
Jul 19th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.64 KB | None | 0 0
  1. public class DoublyLinkedList {
  2.   private DLLElement head;
  3.   private DLLElement tail;
  4.   private DLLElement actual;
  5.  
  6.   public DoublyLinkedList() {
  7.  
  8.   }
  9.  
  10.   public void insertFirst(Object o) {
  11.     DLLElement newFirstElem = new DLLElement();
  12.     newFirstElem.setObject(o);
  13.  
  14.     if (head == null) {
  15.       head = newFirstElem;
  16.     } else {
  17.       newFirstElem.setNext(head);
  18.       head.setPrevious(newFirstElem);
  19.       head = newFirstElem;
  20.     }
  21.   }
  22.  
  23.   public void insertLast(Object o) {
  24.     if (head == null) {
  25.       this.insertFirst(o);
  26.       return;
  27.     }
  28.  
  29.     DLLElement current = head;
  30.  
  31.     while (current.getNext() != null) {
  32.       current = current.getNext();
  33.     }
  34.  
  35.     DLLElement newFirstElem = new DLLElement();
  36.     newFirstElem.setObject(o);
  37.  
  38.     // = last item of list
  39.     current.setNext(newFirstElem);
  40.     newFirstElem.setPrevious(current);
  41.   }
  42.  
  43.   public void remove(Object o) {
  44.     DLLElement current = head;
  45.  
  46.     while (current != null) {
  47.       if (current.getObject().equals(o)) {
  48.         if (current.getPrevious() != null) {
  49.           current.getPrevious().setNext(current.getNext());
  50.         } else {
  51.           head = current;
  52.         }
  53.  
  54.         if (current.getNext() != null) {
  55.           current.getNext().setPrevious(current.getPrevious());
  56.         }
  57.  
  58.         return;
  59.       }
  60.  
  61.       current = current.getNext();
  62.     }
  63.   }
  64.  
  65.   public String toString() {
  66.     String res = "[";
  67.  
  68.     DLLElement current = head;
  69.  
  70.     while (current != null) {
  71.       res += current.getObject().toString() + ",";
  72.       current = current.getNext();
  73.     }
  74.  
  75.     return res.substring(0, res.length() - 1) + "]";
  76.   }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement