2013-03-02 61 views
0

我想在1到n产生一些号码清单 最初假设名单是:如何存储列表到一个列表,STL

L1: 1 
    L2: 2 
    L3: 3 
    L5: 4 
     . 
     . 
    Ln-1: n-1 
    Ln: n 

有含1到n初始总数为n的列表。 现在我想更新列表。

请告诉我如何使用STL列表在C++中创建像这样的列表。

我想这样。

list<int> first[n+1]; 

然后存储:

for(i=1;i<=n;i++) 
    first[i].push_back(i);  

但我得到的运行时错误,

请告诉我如何解决这个问题。

list<int> a = {1,2,3}; 
list<int> b = {4,5}; 
list<int> c = {5,6}; 

,我们可以这样做:

list<int>a[3]; 
then 
    a[0].push_back(1); 
    a[0].push_back(2);  
    a[0].push_back(3); 
    a[1].push_back(4); 
    a[1].push_back(5); 
    a[2].push_back(5); 
    a[2].push_back(6); 
+0

另一种替代方法是使用'std :: vector >'如果'n'未预先知道。 – 2013-03-02 10:45:34

+0

@Grigoriy Chudnov你能解释一下吗? – upendrajat 2013-03-02 11:12:33

+0

查看billz的答案。他创建了一个列表向量。其实我不确定什么是问题,我不知道该推荐什么。 – 2013-03-02 12:09:36

回答

0

邻接表

vector< vector<int> > Vec (n+1); 

,能够在全补的要求。

相关问题