Почему мой код не выдает ошибку с free (), но выдает ошибку SIGSEVEG с delete () при удалении альтернативных узлов в LL? - PullRequest
0 голосов
/ 22 апреля 2020

Мой код дает SIGGSEGV с удалением (temp), но не со свободным (temp) при освобождении временной памяти, так как указатель не удаляется, только удаляется узел, указывающий на него. Почему ??

void delete_alternate_node_LinkedList(Node *head)
{  
   if(head->next==NULL)
   {
       return ;
   }

    Node *prev=head;
    Node *temp=head->next;

    while(temp!=NULL && prev!=NULL)
    {

    prev->next=temp->next;
    delete temp   ; //    free temp;
         prev=prev->next;
         if(prev!=NULL){
        temp=prev->next;
         }
        }




}  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...