Sto cercando di implementare un grafico in C++. Sto rappresentando un nodo nel grafico usando una struttura che contiene due variabili -
a) un intero per contenere alcune informazioni sul nodo.
b) un elenco per contenere l'indice di altri vertici che sono collegati ad esso.
Di seguito è riportato il codice.Grafici con l'elenco Adjacency in C++
// Graphs using adjacency list
#include <iostream>
#include <list>
#include <cstdlib>
using namespace std;
// structure to represent a vertex(node) in a graph
typedef struct vertex{
int info;
list<int> adj; // adjacency list of edges contains the indexes to vertex
} *vPtr;
int main(){
vPtr node = (vPtr)malloc(sizeof(struct vertex));
node->info = 34; // some arbitrary value
(node->adj).push_back(2); // trying to insert a value in the list
return 0;
}
Il codice sta compilando bene, ma sto ottenendo un errore di tempo di esecuzione mentre sto spingendo indietro di un elemento nella lista. C'è qualche problema nella mia struttura.
Sto usando i blocchi di codice e il compilatore GNU GCC, C++ 98 per compilare il mio codice.
Qualcosa di sospetto sulla dichiarazione vPtr. – Jiminion
@Jim: Non penso perché il codice dà solo problemi quando torno nella lista. Se rimuovo quella linea, il codice funziona correttamente. – Nishant