lo svolgimento è in grassettocodice:typedef struct nodo *lista; typedef struct nodo { int val; lista next; } nodo; /* prototipi di funzioni */ lista concatList(lista L1, lista L2); /* Function: concatList * Usage: L1 = concatList (L1, L2); * ----------------------------------------------- * Concatena L1 e L2, creando un link fra l’ultimo nodo di L1 ed il primo di L2. * ATTENZIONE: una delle liste, o entrambe, potrebbero essere vuote. * Restituisce il puntatore al nodo di testa della lista così ottenuta. */ lista concatList (lista L1, lista L2) { nodo *corrente; nodo *precedente; if(L1==NULL) return L2; if(L2==NULL) return L1; corrente = L1; while(corrente!=NULL){ precedente = corrente; corrente=corrente->next; } corrente=L2; return L1; }
è giusto?