Sao chép các phần tử từ vectơ này sang vectơ khác một cách dễ dàng
Trong ví dụ này, tôi đang sử dụng một vectơ cặp để dễ hiểu
`
vector<pair<int, int> > v(n);
//we want half of elements in vector a and another half in vector b
vector<pair<lli, lli> > a(v.begin(),v.begin()+n/2);
vector<pair<lli, lli> > b(v.begin()+n/2, v.end());
//if v = [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6)]
//then a = [(1, 2), (2, 3)]
//and b = [(3, 4), (4, 5), (5, 6)]
//if v = [(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7)]
//then a = [(1, 2), (2, 3), (3, 4)]
//and b = [(4, 5), (5, 6), (6, 7)]
'
Như bạn thấy, bạn có thể dễ dàng sao chép các phần tử từ vectơ này sang vectơ khác, nếu bạn muốn sao chép các phần tử từ chỉ mục 10 đến 16 chẳng hạn thì chúng tôi sẽ sử dụng
vector<pair<int, int> > a(v.begin()+10, v.begin+16);
và nếu bạn muốn các phần tử từ chỉ mục 10 đến một số chỉ mục từ cuối, thì trong trường hợp đó
vector<pair<int, int> > a(v.begin()+10, v.end()-5);
Hy vọng điều này sẽ giúp, chỉ cần nhớ trong trường hợp cuối cùng v.end()-5 > v.begin()+10