Daca vrei cu realloc iti pot zice eu, mie asa mi se pare mai usor, in c++ nu-mi prea place.. probabil vrei sa faci o lista de adiacenta.
ideea e urmatoarea, declari un vector de pointeri ex: int *a[NMAX];
apoi aloci gradul pentru fiecare linie(numarul de elemente):
a[i] = (int *) realloc(a[i], sizeof(int)); a[i][0] = 0;
si ca sa mai faci o sa casuta(faci o redimensionare):
a[i] = (int *) realloc(a[i], sizeof(int)*(++a[i][0]+1)); a[i][a[i][0]] = y
ideea ar trebui sa fie asemanatoare si in c++, cauta echivalentul comenzilor cu help...
Daca nu te-a ajutat pe tine, sper ca ii va ajuta pe altii.