如何在C中用另一个向量以相反的顺序添加向量?

前端之家收集整理的这篇文章主要介绍了如何在C中用另一个向量以相反的顺序添加向量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
存在矢量矢量< int> v
我想用这个向量以相反的顺序添加另一个向量矢量< int> temp.

例如,

v = {1,5,7} and

temp = {11,9,8}

我想以相反的顺序添加temp,即{8,11}到向量v.

所以,v将是:v = {1,7,8,11}

这是我如何做到的:

int a[] = {1,7};
vector<int>v(a,a+3);
int b[] = {11,8};
vector<int>temp(b,b+3);

for(int i=temp.size()-1;i>=0;i--)
  v.push_back(temp[i]);

for(int i=0;i<v.size();i++)
  cout<<v[i]<<" ";
cout<<"\n";

STL或C中是否有内置函数来执行此操作?或者我必须手动完成吗?

解决方法

使用反向迭代器:
std::vector<int> temp(v.rbegin(),v.rend());

或者std :: reverse_copy():

std::reverse_copy(v.begin(),v.end(),std::back_inserter(temp));
原文链接:https://www.f2er.com/c/116910.html

猜你在找的C&C++相关文章