C ++如何从第一个向量X1第一个元素,第二个向量X2第一个元素等获取

时间:2018-03-16 14:03:31

标签: c++ algorithm c++17

我有N个向量,我需要从第一个向量X1第一个元素,第二个向量X2第一个元素等。我需要重复这样做,直到我用K个元素填充结果向量。我想到了两种解决方案:

  1. 保持N个迭代器的向量(每个向量的一个迭代器)并返回(迭代器,迭代器+ X)范围并保留为类的成员,该类将这些向量存储为当前处理的向量的索引。
  2. 保留当前处理过的向量的索引,首先从它复制X个元素,从向量中删除这些元素并返回它们。我喜欢这个解决方案,但我认为它太慢了。
  3. 还有其他办法吗?

    编辑: 例如:

    我有载体载体:

    { {12, 14, 17, 2, 89, 34, 6, ...}, 
      {1, 4, 9, 5, 9, 41, 99, ...}, 
      {90, 76, 44, 21, 55, 45, 79, ...} }
    

    我想从第一个向量3元素,第二个1元素和第三个4个元素中重复进行,并将它们放入结果向量unitl中,该向量的大小不会达到10.因此,结果向量看起来像这样:

    { 12, 14, 17, 1, 90, 76, 44, 21, 2, 89 }
    
    希望这清楚所有的困惑。 谢谢!

0 个答案:

没有答案