ho guardato un pò il codice e comunque quoto pienamente quello che dice Stoicenko, che il codice va postato nei tag appositi...comunque, è corretto fondamentalmente, era sbagliato solo nella gestione delle stringhe nella funzione di insert, ovvero qua:
codice:
...
if(newPtr != NULL){
newPtr->stringa = value;
newPtr->nexPtr = NULL;
...
non puoi mica gestire con i puntatori queste stringhe, questo perchè al secondo inserimento, value cambia, e quindi newPtr->stringa va a puntare a value che è diventata una stringa diversa! in questo caso devi prima allocare la newPtr->stringa della dimensione di value+1(per il terminatore di stringa) e copiare le stringhe con la strcpy() value in newPtr->stringa, in codice così:
codice:
newPtr->stringa = (char*)malloc((strlen(value)+1)*sizeof(char));
if ( newPtr->stringa == NULL ) {
printf ("Memoria non disponibile\n");
system ("pause");
exit(1);
}
strcpy ( newPtr->stringa, value );