di C ++, saya memiliki dua list<T>
objek A
dan B
dan saya ingin menambahkan semua anggota B
ke akhir A
. Saya telah mencari beberapa sumber berbeda dan belum menemukan solusi sederhana (ei A.append(B);
) dan ini sedikit mengejutkan saya.
Apa cara terbaik untuk melakukannya?
Ketika itu terjadi, saya tidak peduli tentang B setelah ini (itu akan dihapus di baris berikutnya) jadi jika ada cara untuk memanfaatkannya untuk kinerja yang lebih baik, saya juga tertarik dengan itu.
a.splice(a.end(), b)
dana.splice(a.end(), b, it_b_start)
, tetapi O (n) untuka.splice(a.end(), b, it_b_start, it_b_end)
.salah satu contoh menggunakan boost
std::list<T> A; // object A is a list containing T structure std::list<T> B; // object B is a list containing T structure // append list B to list A BOOST_FOREACH(auto &listElement, B) { A.push_back( listElement ); }
sumber