codice:
for ( i = 0 ; i < NUM_AUTO ; i++ )
{
rvalue = rand() % NUM_INCROCI;
if ( Incroci[rvalue].Head == NULL && Incroci[rvalue].Tail == NULL )
{
Enqueue(Incroci[rvalue].Head,Incroci[rvalue].Tail,priority,"nulla");
priority++;
}
else
Enqueue( Incroci[rvalue].Head,Incroci[rvalue].Tail,0,"nulla");
}
E come passo adesso head e tail alla funzione enqueue ?
codice:
void Enqueue ( NODO **Head , NODO **Tail , int Number , char String[])
{
NODO *Tmp; /* NODO TEMPORANEO */
Tmp = (NODO*) malloc (sizeof(NODO)); /* CREAZIONE DEL NODO DA INSERIRE */
Tmp->Number = Number;
strcpy( Tmp->String , String);
Tmp->Next = NULL;
if ( *Tail == NULL ) /* ACCODAMENTO DEL NUOVO NODO */
{
*Tail = Tmp;
*Head = Tmp;
}
else
{
(*Tail)->Next = Tmp;
*Tail =Tmp;
}
}