【问题标题】:Multiset to vector, C++多集到向量,C++
【发布时间】:2011-08-18 15:11:09
【问题描述】:

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

【问题讨论】:

    标签: stl vector copy multiset


    【解决方案1】:

    如果你使用非标准的copy_n(你可以轻松roll your own),你可以这样做:

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

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

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 1970-01-01
      • 2017-10-03
      • 2021-12-21
      • 2013-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-22
      相关资源
      最近更新 更多