Multiset to vector,C ++

时间:2011-05-04 14:58:21

标签: stl vector copy multiset

如何以最快的顺序将std :: multiset中的最后k个项目以相反的顺序复制到std :: vector?

1 个答案:

答案 0 :(得分:7)

如果您使用非标准copy_n(您可以轻松roll your own),则可以执行以下操作:

std::copy_n(your_multiset.rbegin(), k, std::back_inserter(your_vector));

copy_n是C ++ 1x的一部分,所以这个解决方案是完全标准的。如果你想要速度,可以更快地预先在矢量中保留空间以节省重新分配。