【问题标题】:How to Store Lists into a List in STL如何将列表存储到 STL 中的列表中
【发布时间】:2013-03-02 10:31:12
【问题描述】:

我想生成一些介于 1 到 n 之间的数字的列表 假设最初的列表是:

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

总共有 n 个列表,最初包含 1 到 n 。 现在我想更新列表。

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

我正在尝试这样。

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

【问题讨论】:

  • 如果事先不知道n,则另一种选择是使用std::vector&lt;std::list&lt;int&gt;&gt;
  • @Grigoriy Chudnov 你能解释一下吗?
  • 查看 billz 的答案。他创建了一个列表向量。其实我不确定是什么问题,我不知道推荐什么。
  • @UpendraJat 为什么不添加导致运行时问题的确切代码,以及您收到的运行时错误消息的副本,我们从那里获取?

标签: c++ list stl arraylist


【解决方案1】:

邻接表

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

完全可以满足要求。

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-09-18
    • 2020-07-28
    • 2012-01-18
    • 2019-09-30
    • 2010-10-01
    • 2021-01-28
    相关资源
    最近更新 更多