【问题标题】:Insert vector {x, y, z} into another vector?将向量 {x, y, z} 插入另一个向量?
【发布时间】:2018-04-25 18:37:58
【问题描述】:

我正在寻找一些关于将向量插入或推入另一个向量的指针。

例如,我的想法是 vec1 = {1, 2, 3}。 然后我想在下一个 vec1 = {4, 5, 6} 出现之前将其插入 vec2。

问题是我不希望 vec 2 读取 {1, 2, 3, 4, 5, 6},我希望它读取

vec2 = {1, 2, 3}, {4, 5, 6},...等

这可能吗,或者我完全疯了。任何帮助都会很棒。

谢谢。

【问题讨论】:

  • 也许是向量的向量?
  • 您在寻找std::vector<std::vector<int>>吗?
  • 你需要vector< vector<int> > vv; vv.push_back(vec1);
  • 如果每个向量正好有 3 个,则可能需要创建一个元组向量
  • @RPGillespie 这点很好,但如果叶元素都相同,则可以使用std::vector<std::array<int,3>> 而不是元组向量。

标签: c++ vector


【解决方案1】:

您可以使用整数向量的向量。像这样:

std::vector<std::vector<int>> vecofvecs = { {1,2,3}, {4,5,6} };

你也可以用这个:

#include <vector>
int main()
{
    std::vector<std::vector<int>> vecofvecs;
    std::vector<int> subvec1 = { 1,2,3 };
    std::vector<int> subvec2 = { 4,5,6 };

    vecofvecs.push_back(subvec1);
    vecofvecs.push_back(subvec2);

    return 0;
}

【讨论】:

  • 复制“内部”向量 - 感觉这可能不是本意。
猜你喜欢
  • 2014-02-24
  • 2021-07-20
  • 2015-10-30
  • 1970-01-01
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多