我正在尝试用 C++ 实现一个图形。我使用包含两个变量的结构来表示图中的节点 -
a) 一个包含有关节点的一些信息的整数。
b) 一个列表,其中包含与其相连的其他顶点的索引。
以下是代码。
// 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;
}
代码编译良好,但在推回列表中的元素时出现运行时错误。我的结构有什么问题吗?
我正在使用代码块和 GNU GCC、C++ 98 编译器来编译我的代码。