go to previous page   go to home page   go to next page highlighting

Answer:

(1) Search for the next-to-last node, (2) unlink the last node from it.


Delete Last

Delete last is tricky because you need a reference to the next-to-last node in order to unlink the last node. But there are special cases where there is no next-to-last node: an empty list and a list with just one node. The method tests for these cases.

public void deleteLast()
{

  // if list is empty do nothing
  if ( headPtr == null )
  {
    return;
  }

  // if list has one node, unlink it
  // to create an empty list
  if ( headPtr.getNext() == null )
  {
    headPtr = null;
    return;
  }

  // search for the next to last node
  Node p = headPtr;
  while ( p.getNext().getNext() != null )   
    p = p.getNext();   
    
  // unlink the last node
  p.setNext( null );
}                           

QUESTION 13:

How could you delete the entire LinkedList ?


go to previous page   go to home page   go to next page