我正在为图形结构创建一个邻接列表。下面是我的代码片段,当我在 gdb 中运行时,它给出“程序收到信号 SIGSEGV,分段错误。std::_List_node_base::hook () 中的 0x0040340f”错误。有人可以指出代码中的错误。
struct graph{
list<int> vertex;
}*v;
list<int>::iterator it;
cin>>num_vertices;
v = new graph[num_vertices];
if (v == 0)
cout << "Error: memory could not be allocated";
for(i=1;i<=num_vertices;i++)
{
cin>>num_connected;
for(j=1;j<=num_connected;j++)
{
cin>>m;
(v+i)->vertex.push_back(m);
}
}
for(i=1;i<=num_vertices;i++)
for(it= (v+i)->vertex.begin();it!= (v+i)->vertex.end();it++)
cout<<*it<<"->";