Скопируйте те же элементы из 2 отсортированных по возрастанию связанных списков в новый - PullRequest
1 голос
/ 10 мая 2019

Я пишу функцию, которая возвращает новый список с элементами, содержащимися в обоих заданных отсортированных списках по возрастанию, без повторения значений.Этот код дает мне LeakSanitazire: detected memory leaks, и я не могу понять, чего мне не хватает.

intersezione.c

#include "intersezione.h"
#include <stdlib.h>

tlista intersezione(tlista lista1, tlista lista2){
  tlista head = NULL;
  tlista curr = NULL;
  tlista tail_lista2;
  while(lista1 != NULL){
    tail_lista2 = lista2;
    while(tail_lista2 != NULL){
      if(lista1->valore == tail_lista2->valore){
        if(head == NULL){
          head = (tlista)malloc(sizeof(struct cella));
          head->valore = lista1->valore;
          head->next = NULL;
          curr = head;
        } else if(lista1->valore != curr->valore){
          curr->next = (tlista)malloc(sizeof(struct cella));
          curr = curr->next;
          curr->valore = lista1->valore;
          curr->next = NULL;
        }   
      }
      tail_lista2 = tail_lista2->next;
    }
    lista1 = lista1->next;
  }
  return head;
}

Здесь Вы можете найти весь код.

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