La funzione puo esere un po semplificata: basta infatti scorrere la prima lista finche nextPtr non è nullo: a quel punto agganci la seconda:


codice:
void concatenate(LISTNODEPTR *firstList, LISTNODEPTR * secondList)
{
   LISTNODEPTR currentPtr = *firstList;   

   if (*firstList == NULL)
      *firstList = *secondList;
   else{
      while (currentPtr -> nextPtr !=  NULL)
         currentPtr = currentPtr->nextPtr;
      currentPtr->nextPtr = *secondList;
  }
}