将std :: set拆分为相同大小的向量

时间:2016-10-19 18:52:17

标签: c++ c++11 vector

我有一个std :: 550个元素的整数集。我想把它分成100或更小的矢量。所以,让我们说,在这种情况下,我们将获得6个向量。前5个矢量的大小为100,第六个矢量的大小为50.

所以,实际上我需要将std :: setmasterSet分解为std :: vector> final。使用一些标准的std算法是否有一种良好而清晰的方法。我不需要一个类来拥有这个逻辑,事实上我可以写一个函数来做到这一点。

1 个答案:

答案 0 :(得分:2)

嗯......我想你可以对这个一般的顺序做点什么:

std::vector<vector<int>> ints(myset.size()/max_size);

size_t i = 0;

for (auto d : my_set) 
    ints[i++/max_size].push_back(d);