나는 마지막 요소, 즉 1을 삭제하려고하지만Qn) 단일 링크 된 목록에서 삭제할 노드에 대한 포인터 만 주어진 경우 을 삭제하는 방법은 무엇입니까? 링크 된 목록에서 삭제
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