int deleteNode(node *head,char id[10])
{
node *prevNode=NULL;
node *currNode=head;
int index=1;
fflush(stdin);gets(id);
while((currNode!=NULL)&&(strcmp(currNode->data.ID,id)!=0)) //tim node co gia tri id
{
prevNode=currNode;
currNode=currNode->next;
index++;
}
if(currNode!=NULL)
{
if(prevNode==NULL) //xoa dau
{
head=currNode->next;
currNode->next=NULL;
delete currNode;
}
else
{//xoa node k phai dau
prevNode->next=currNode->next;
currNode->next=NULL;
delete currNode;
}
return index;
}
return 0;
}
các bác xem giúp e hàm xóa node như vậy có đúng k??
e có in ra địa chỉ của head trc và sau khi xóa vi tri ở đầu thì nó là FEEEFEEE
cout<<(void*)head->data.ID<<"\t"<<(void*)head->data.nam; //nam là 1 biến trong data của node tương tự id
deleteNode(head,id);
cout<<(void*)head->data.ID<<"\t"<<(void*)head->data.nam<<"\t"<<(void*)head- >next- >data.ID;
vậy có nghĩa là head bị giải phóng r đúng k ạ?
ai giải thích hộ e cái toán tử delete nghĩa là gì với ạ?