ok ho risolto. sbagliavo nel leggere. ecco il codice relativo alla lettura

while(!feof(f))
{
TotNodi[i] = NewVertex(i);
fscanf(f,"%d",&n);
while(n != -2 && n!=-1 )
{
AddVertex (TotNodi[i],NewVertex(n));
fscanf(f,"%d",&n);
}
i++;
}

solo che comunque avendo un file con nove nodi ad esempio, non alloco nove nodi, ma + di nove perché tratto i singoli nodi come se fossero staccati.