C++ vector拼接(多段拼接成一个vector)
我们有一个vector,如何取出vector中的几个片段,然后合成一个新的vector呢?
直接上代码
vector<int> origin;
for (int i = 0; i< 100; i++){
origin.push_back(i);
}
std::vector<int>::const_iterator first1 = origin.begin();
std::vector<int>::const_iterator last1 = origin.begin() + 30;
std::vector<int> part1(first1, last1); // 0 ~ 29
std::vector<int>::const_iterator first2 = origin.begin() + 60;
std::vector<int>::const_iterator last2 = origin.begin() + 90;
std::vector<int> part2(first2, last2); // 59 ~ 89
std::vector<int> need;
need.insert(need.end(), part1.begin(), part1.end());
need.insert(need.end(), part2.begin(), part2.end());
for (int i = 0 ; i < need.size(); i++){
cout<<need[i]<<" ";
}
origin的数是 0 ~ 99
need的数是 0 ~ 29 + 59 ~ 89
随实际需要更改这段代码吧!