以相反的顺序将一个向量复制到另一个向量

Posted

技术标签:

【中文标题】以相反的顺序将一个向量复制到另一个向量【英文标题】:Copy a vector to another vector in reverse order 【发布时间】:2015-01-26 10:18:20 【问题描述】:

我是 C++ 新手。 我需要将一个向量以相反的顺序复制到另一个向量。

我是这样做的:

int temp[] = 3, 12, 17;

vector<int>v(temp, temp+3);

vector<int>n_v;

n_v=v;
reverse(n_v.begin(), n_v.end()); //Reversing new vector

有没有什么简单的方法可以将一个向量逆序复制到STL中的另一个向量?

【问题讨论】:

This answer 涵盖了这个主题的大部分变体,(通过在这个网站上搜索“[c++] copy a vector in reverse order”找到。) 【参考方案1】:

只需这样做:

vector<int>n_v (v.rbegin(), v.rend());

【讨论】:

这正是我所需要的。谢谢:)【参考方案2】:

您可以使用reverse_iterator:

std::vector<int> n_v(v.rbegin(), v.rend());

【讨论】:

以上是关于以相反的顺序将一个向量复制到另一个向量的主要内容,如果未能解决你的问题,请参考以下文章

如何将一个向量复制到另一个向量的末尾? [复制]

将类成员向量的内容复制到另一个向量中,然后将它们交换回来

如何在 C++ 中将一个对象从一个向量复制到另一个向量?

如何在 C++ 中将两个向量复制到另一个向量

将矢量引用复制到另一个

C++ 将对象向量中的元素复制到具有此元素的向量中