Per la pila no, ogni indice dell' array è un indice che devi leggere per capire quale elemento della pila, cioè quale nodo, contiene.
Ad esempio [3,1,2] contiene i nodi 3,1,2 in maniera indipendente dall' indice, in questo caso i nodi li aggiungi in fondo all' array, tieni traccia dell' ultimo indice valido che in questo caso è 2.Per estrarlo semplicemente decrementi l' ultimo indice valido.
L' array in questo caso avrà n elementi allocati.
Per quanto riguarda la visita, la matrice di adiacenza per definizione contiene nell' indice i,j 1 se i è adiacente a j, 0 altrimenti.
Non confondere i nodi con gli elementi della matrice, per memorizzare i nodi ti basta un vettore di n elementi di tipo elem.
Per vedere se il nodo i è adiacente al nodo j (indice del vettore di n nodi di tipo elem), leggi la matrice di adiacenza, che deve essere di interi, non di elem.
Se vuoi visitare il nodo i leggi nel vettore di elem l' elemento di indice i, per trovare i suoi nodi adiacenti leggi tutta la riga o la colonna (visto che il grafo è non orientato, la matrice è simmetrica) i-esima.