关于vector的组合问题

satertt 2008-10-18 10:47:00
把2个VECTOR合为一个VECTOR
本人菜鸟,要怎么写
比如{1,2,3,4} {5,6,7,8}
合成后{1,2,3,4,5,6,7,8}
...全文
82 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vegertar 2008-10-18
  • 打赏
  • 举报
回复

#include <iostream>
#include <vector>

using namespace std;

template<class T>
void operator+= (vector<T> &v1, const vector<T> &v2) {
v1.insert(v1.end(), v2.begin(), v2.end());
}

template<class T>
vector<T> operator+ (const vector<T> &v1, const vector<T> &v2) {
vector<T> v(v1.begin(), v1.end());
v.insert(v.end(), v2.begin(), v2.end());
return v; //这个值返回不太好.LZ将就一下吧.
}

int main() {
vector<int> v1(5, 3), v2(5, 4);
v1 += v2;
vector<int> v = v1 + v2;
for (vector<int>::iterator i = v.begin(); i != v.end(); ++i)
cout << *i << endl;
}

baihacker 2008-10-18
  • 打赏
  • 举报
回复
#include <vector>
#include <iostream>
using namespace std;

int main()
{
int a1[] = {1,2,3,4};
int a2[] = {5,6,7,8};
vector<int> v1(a1, a1+4);
vector<int> v2(a2, a2+4);
vector<int> v3;
v3 = v1;
v3.insert(v3.end(), v2.begin(), v2.end());
for (int i = 0; i < v3.size(); ++i)
cout << v3[i] << " ";
cout << endl;
return 0;
}
lzr4304061988012 2008-10-18
  • 打赏
  • 举报
回复
LZ可以吧第二个的元素一个一个的push_back进第一个.

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧