首页 > 解决方案 > 随机访问指针向量

问题描述

我使用列表实现了一个图形数据结构。

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;
    }

标签: c++vectorcontainers

解决方案


推荐阅读