0

Hello All,

I am having a problem with removing a specific item from a linked list. Any advice would be great:

Here are some snippets:

private Node head; //the head node at the front of the list
private Node previous; //element just before the current position
private Node current; //refers to the current element

public boolean removeSpecific(Item thing)
      {
         if(head != null)
         {
            if(previous == null)
               head = head.next;
            else if(current.data.equals(thing))
            {
              previous.next = current.next;
              current = current.next;
              count--;
              return true;
            }
        }
         return false;
      }

Something is very off here.
Any assistance will be appreciated.
Thank you

3
Contributors
4
Replies
10
Views
9 Years
Discussion Span
Last Post by sohguanh
0

Do you understand what each individual line of your code does? Draw out your data structure on paper and simulate by hand what your code is doing, line by line. You'll see your problem then. Potential problems include... current could be null; behavior differs when the first node of the list is the current node; the code might not even be close to what you want to do.

0

I am having a problem with removing a specific item from a linked list. Any advice would be great:

Here are some snippets:

private Node head; //the head node at the front of the list
private Node previous; //element just before the current position
private Node current; //refers to the current element

public boolean removeSpecific(Item thing)
{
	 previous = null; current = head;
         while (current != null)
         {
            if(current.data.equals(thing))
            {
              current = current.next;
	      if (previous == null) previous = current
              else previous.next = current;
              count--;
              return true;
            } else {
              previous = current;
              current = current.next;
	    }
         } //end while
         return false;
}
0

Why did you write a solution for him? How is that supposed to help him?

I apologize sincerely. I thought he is in need of a solution quick else he cannot submit his solution (I presume he is doing some school related assignment?). I promise in future not to give answers but guide them towards the solution instead.

Giving fish to the poor will not be as good as teaching the poor how to fish.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.