vector 数组复制问题

我想将一个vector数组里的元素复制到另一个vector数组中。。
例如
vector1中有5个元素,我想把 第 1 、3、 4 、5 、装到vector2中。(只有第2个不装)
之后再将vector1清空,把vector2里的全部再装回vector1。。怎么操作。希望有正确的代码哦

作者: m372897527   发布时间: 2011-06-13

遍历vector1,只有第二个元素不push_back到vector2
要吧vector2全部装回vector1,可以使用transform,copy。。。

作者: dizuo   发布时间: 2011-06-13

你这个操作,只需要把vector1第2个元素erase掉,然后整个vector1都assgin给vector2就行了,不需要复制过来又复制过去。

C/C++ code

vector< int >::iterator Iter = vector1.begin( );
vector1.erase( Iter + 1 );
vector2.assgin( vector1.begin( ), vector1.end( ) );

作者: supermegaboy   发布时间: 2011-06-13

引用楼主 m372897527 的回复:
我想将一个vector数组里的元素复制到另一个vector数组中。。
例如
vector1中有5个元素,我想把 第 1 、3、 4 、5 、装到vector2中。(只有第2个不装)
之后再将vector1清空,把vector2里的全部再装回vector1。。怎么操作。希望有正确的代码哦

如果仅仅是这样的话,直接把第二个元素删除不就OK了么?
C/C++ code

vector< int >::iterator iter = vector1.begin( );
vector1.erase( iter + 1 );


实在看不出vector2有存在的必要。

作者: pathuang68   发布时间: 2011-06-13

vector2要不要得看楼主想干啥吧。

作者: supermegaboy   发布时间: 2011-06-13

引用 3 楼 pathuang68 的回复:

引用楼主 m372897527 的回复:
我想将一个vector数组里的元素复制到另一个vector数组中。。
例如
vector1中有5个元素,我想把 第 1 、3、 4 、5 、装到vector2中。(只有第2个不装)
之后再将vector1清空,把vector2里的全部再装回vector1。。怎么操作。希望有正确的代码哦

如果仅仅是这样的话,直接把第二个元素删除不就OK了么?……

++

作者: c_losed   发布时间: 2011-06-13