1 package DEOS; 20 21 24 class DoubleLinkListNode { 25 protected DoubleLinkListNode previous; 26 protected DoubleLinkListNode next; 27 28 protected DoubleLinkListNode () { 29 previous = null; 30 next = null; 31 } 32 33 public boolean isOnAList () { 34 35 return next != null; 36 37 38 } 39 40 public void addAfter (DoubleLinkListNode newNode) { 41 45 46 DoubleLinkListNode t = this; 47 DoubleLinkListNode n = t.next; 48 DoubleLinkListNode nn = newNode; 49 nn.next = n; 50 nn.previous = t; 51 t.next = nn; 52 n.previous = nn; 53 54 55 } 56 57 public void ensureNotOnList () { 58 if (isOnAList()) { 59 removeFromList(); 60 } 61 } 62 63 public DoubleLinkListNode nextNode () { 64 return next; 65 } 66 67 public DoubleLinkListNode previousNode () { 68 return previous; 69 } 70 71 public void removeFromList () { 72 73 74 DoubleLinkListNode t = this; 79 DoubleLinkListNode p = t.previous; 80 DoubleLinkListNode n = t.next; 81 n.previous = p; 82 p.next = n; 83 84 DoubleLinkListNode zero = null; 85 t.previous = zero; 86 t.next = zero; 87 88 89 } 90 }; 91 | Popular Tags |