我使用列表实现了图形数据结构。
list<int> *adjList;
这是此列表的输出。
0-->1,2,
1-->0,3,
2-->0,4,
3-->1,
4-->2,5,
5-->4,
我正试图反转此图。我为此创建了矢量。
我尝试过的事情
vector<int> *transpose;
使用以下功能,我要添加此列表中的元素以进行转置。
void transposeGraph(){
for(int i=0; i<V; i++){
for(int node:adjList[i]){
cout<<node << " ";
transpose[node].push_back(i);
}
cout<<endl;
}
}
但是,当我打印移调时,我得到的结果与列表相同。它没有逆转。我在哪里犯错了?
问题2
我读到矢量中可以进行随机访问,但列表中不可以。
为什么以下打印语句给我错误?是因为我在定义中有一个指针吗?
for(int i=0; i<V; i++){
cout<<transpose[i]<<endl;
}