คัดลอกองค์ประกอบจากเวกเตอร์หนึ่งไปอีกอันได้อย่างง่ายดาย
ในตัวอย่างนี้ฉันใช้เวกเตอร์ของคู่เพื่อให้ง่ายต่อการเข้าใจ
`
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)]
'
อย่างที่คุณเห็นคุณสามารถคัดลอกองค์ประกอบจากเวกเตอร์หนึ่งไปยังอีกเวกเตอร์หนึ่งได้อย่างง่ายดายหากคุณต้องการคัดลอกองค์ประกอบจากดัชนี 10 ถึง 16 เช่นนั้นเราจะใช้
vector<pair<int, int> > a(v.begin()+10, v.begin+16);
และถ้าคุณต้องการองค์ประกอบจากดัชนี 10 ถึงบางดัชนีจากจุดสิ้นสุดในกรณีนั้น
vector<pair<int, int> > a(v.begin()+10, v.end()-5);
หวังว่าสิ่งนี้จะช่วยได้โปรดจำไว้ในกรณีสุดท้าย v.end()-5 > v.begin()+10