c++ - 随机访问指针向量
问题描述
我使用列表实现了一个图形数据结构。
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;
}
解决方案
推荐阅读
- java - 如何使用 instanceof 解决 JPA 延迟加载问题
- ajax - 如何在 JAX-RS API 中添加超时
- javascript - 如何将一个 javascript 变量调用到另一个 javascript 文件
- python - 是否可以在 python 的类中单独访问实例属性?
- typo3 - TYPO3:带有最新版本 EXT:news 的 PHP 警告
- algorithm - 来自两个数组的互质数对的计数小于 O(n^2) 复杂度
- python - Python .exe 文件未在 cmd 提示符下运行
- javascript - 生成动态条件以过滤来自用户字符串的数据,例如 min > 0 和 max <= 100 - Javascript
- java - 如何使 Kotlin 库像 Java 库一样?
- python - 如何使用卡尔曼滤波器模型检测峰值