I want to remove the last node in my linked list, but it seems like I'm doing something wrong, since no element gets deleted.
void deleteTail(){
node *temp = head;
int iterator = 1;
if (head == NULL)
{
cout<<"Nothing to be deleted."<<endl;
}
else if (head == tail)
{
temp = head;
delete(temp);
head = NULL;
tail = NULL;
}
else
{
while(temp->next != NULL){
temp = temp -> next;
}
tail = temp;
temp = temp->next;
delete(temp);
}
}
If the linked list was 1->2->3->4->5->NULL I want it to turn into 1->2->3->4->NULL. What am I doing wrong in my code? Thanks in advance!