Qn)只给出一个指向要在单向链表中删除的节点的指针, 如何删除它?删除链接列表
我试图删除最后一个元素,即1但else
部分进入一个无限循环 印刷垃圾值。
int main()
{
struct Node* head = NULL;
push(&head, 1);
push(&head, 4);
push(&head, 6);
push(&head, 8);
print(head);
del_p(head->next->next->next);
cout << endl;
print(head);
return 0;
}
void del_p(struct Node* current)
{
struct Node* temp;
if (current->next != NULL)
{
temp = current->next;
current->data = temp->data;
current->next = temp->next;
free(temp);
}
else
{
free(current);
current = NULL;
}
}
和你在你自己的调试尝试中发现了什么? –
@MartinJames它给出垃圾值,但正如0x499602D2指出的,它现在工作正常 – Rooney10