Пример #1
0
 // Remove and return current element
 public  Object remove () {
   if (curr == tail) return null;          // Nothing to remove
   Object it = curr.element();             // Remember value
   curr.setelement(curr.next().element()); // Pull forward the next element
   if (curr.next() == tail) tail = curr;   // Removed last, move tail
   curr.setnext(curr.next().next());       // Point around unneeded link
   listSize--;                             // Decrement element count
   return it;                              // Return value
 }
Пример #2
0
 // Append "it" to list
 public void append(Object it) {
   tail.setnext(new Link(null));
   tail.setelement(it);
   tail = tail.next();
   listSize++;
 }
Пример #3
0
 // Insert "it" at current position
 public  void insert(Object it) {
   curr.setnext(new Link(curr.element(), curr.next()));
   curr.setelement(it);
   if (tail == curr) tail = curr.next();  // New tail
   listSize++;
 }