Untitled
// Online C compiler to run C program online #include <stdio.h> nodo_t* cancellaTesta(nodo_t *l) { nodo_t *tmp; if(l != NULL) { tmp = l; //Salvo un puntatore alla testa attuale l = l->next; //Sposta la testa al nodo nuo free(tmp); } } nodo_t *cancellaCoda(nodo_t *l) { nodo_t *tmp, *prec; if(l != NULL) { // Caso 1: La lista ha un solo elemento (l == coda) if (l->next == NULL) { free(l); l=NULL; } else { // Caso 2: La lista ha più di un elemento for(prec = l; prec->next->next != NULL; prec = prec->next;) //A questo punto, 'prec' è il penultimo nodo tmp = prec -> next; //tmp è l'ultimo nodo prec->next = NULL; //Stacca l'ultimo nodo dalla lista free(tmp); } return l; } } int main() { nodo_t *lista; lista = cancellaTesta(lista); return 0; }
Leave a Comment