C++vector容器A和B的連接


(1)vector<int>v1, v2;

想要實現v1, v2的連接

   a、 copy(vt1.begin(), vt1.end(), back_inserter(vt2));

   b、 std::vector   vec_1,   vec_2;

    vec_1.insert(vec_1.end(),  vec_2.begin(),  vec_2.end());

(2)
vector<int>v1, v2,v3;
for(i = 0; i < 3; i++)
{
v1.pushback(i);
v2.pushback(i+3);
}
想要實現v1, v2的連接v3使v3成爲包含(0,1,2,3,4,5)的向量


先 v3.reserve ( v1.size() + v2.size() ) 然後 
copy ( v1.begin(), v1.end(), v3.begin() );
copy ( v2.begin(), v2.end(), v3.begin() + v1.size() );
當 v1 和 v2 都比較大的時候,我這個方法可能比直接 insert 更具有效率

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章