读书人

请教怎么把一个vector中的前面一部分

发布时间: 2012-08-09 15:59:21 作者: rapoo

请问,如何把一个vector中的前面一部分复制下来加到后面去
例如,有一个vector,储存着a到z26个字母。现在要把a到z添加到vector后面去。该怎么办?开始想到的是insert插入多个值,但感觉插入进取,会改变迭代器。最后我就用了一个暂存的vector储存这个,然后再insert。还有什么更好的方法吗?谢谢!

[解决办法]
没有,将就着用吧!
[解决办法]
写了一个,不过看上去有点烦,供参考...

C/C++ code
#include <iostream>#include <vector>using namespace std;int main(void){    char c[26]="";    for(int i=0;i<26;i++)        c[i]='a'+i;    vector<char> vc1(c,c+26);    vector<char> vc2(vc1);//vc1复制到vc2    vc1.resize(vc1.size()+vc2.size());//vc1大小扩展一下     copy(vc2.begin(),vc2.end(),vc1.end()-vc2.size());//复制到后面。    vector<char>::iterator it=vc1.begin();    for(;it!=vc1.end();it++)        cout << *it << " ";    cout << endl;    return 0;} 

读书人网 >C++

热点推荐