Deleting A Node From A Linked List
My program has a node I want to delete and my nodes don't seem to be connecting properly when I print. Does anyone know why this delete function doesn't work properly.
Code:
struct NodeType; // Forward declaration
struct NodeType //double link node
{
int component;
NodeType* link;
NodeType* backlink;
};
private:
NodeType* head;
void ClosedList::Delete(int item)
{
NodeType* delPtr;
NodeType* currPtr;
if (item == head->component)
{
delPtr = head;
head = head->link;
}
else
{
currPtr = head;
while (currPtr->link->component != item)
{
currPtr = currPtr->link;
}
delPtr = currPtr->link;
currPtr->link = currPtr->link->link;
}
delete delPtr;
}