2013-05-17 44 views
1

我想創建一個使用矢量對的矢量的鄰接列表,並且每當我運行代碼時它就停止工作。目前,我只是試圖在鄰接列表「AdjList」中添加第一對。有更好的方法或做任何修改嗎?如何在C++中使用向量對創建鄰接列表?

#include <iostream> 
#include <vector> 
using namespace std; 
typedef pair<int, int> ii; 
typedef vector<ii> vii; 
vector <vii> AdjList; 

int main() 
{ 
    ii v= make_pair(5,4); 
    AdjList[0][0]=v; 
    cout << v.first<< endl; 
} 
+0

你應該有可能是這個代替, '的typedef的std ::向量<性病::矢量> adjList; ' –

回答

2

你到一個空載體分配一個值:

AdjList[0][0] = v; // Problematic 

嘗試使用std::vector::push_back或調整兩個嵌套向量的大小。

另一種方式,如果你知道圖形的大小使用std::array

const int N = 10; 

std::array<std::array<int, N>, N> AdjList; 

... 

AdjList[0][0] = 1;