PDA

View Full Version : HELP! Lista bidirezionale con nodi sentinella


Peppyno89
17-01-2015, 12:44
Salve a tutti,
Dopo le tante volte che ho trovato utile leggere qui alcune discussioni ho deciso di chiedere direttamente qualcosa io...

Da qualche giorno sono alle prese con questo esercizio universitario.
"Realizzare in C una lista bidirezionale con nodisentinella"

L'ho gia fatta SENZA nodi sentinella e funziona, adesso sto trovando complicazioni precisamente conquesta funzione:


void *CREALISTA(void **nodosentinella1, void **nodosentinella2)
{
struct Persona
{
INFO_FIELD info;
struct Persona *p_next1;
struct Persona *p_next2;
};

struct Persona *elemento;
elemento = calloc(1, sizeof(struct Persona));
elemento = NULL;

((struct Persona *)*nodosentinella1)->p_next1 = elemento;
((struct Persona *)*nodosentinella1)->p_next2 = NULL;
((struct Persona *)*nodosentinella2)->p_next2 = elemento;
((struct Persona *)*nodosentinella2)->p_next1 = NULL;

return elemento;
}


Dopo aver creato i 2 nodi sentinella, li passo come parametri alla function nella quale vorrei inserire il primo elemento aggiornando i vari puntatori.
Il compilatore non mi da errori ma quando arrivo qui mi crasha il programmino.
:help: :help: :help: GRAZIE!!!

ps. l'errore dovrebbe essere nell'aggiornamento dei puntatori, perchè eliminando quella parte non crasha xD