46 votos

cómo añadir una lista de<T> objeto a otro

en C++, tengo dos list<T> objetos A y B y quiero agregar a todos los miembros de la B a finales de A. He buscado en diferentes fuentes y no he encontrado una solución simple (e.yo. A.append(B);) y esto me sorprende un poco.

¿Cuál es la mejor manera de hacer esto?

Como sucede, no me importa la B después de esta (se elimina en la siguiente línea) así que si hay una manera de aprovechar eso para mejor perf yo también estoy interesado en eso.

93voto

UncleBens Puntos 24580

Si desea anexar copias de los elementos de a en B, se puede hacer:

a.insert(a.end(), b.begin(), b.end());

Si desea mover los elementos de B al final de Un (vaciado B al mismo tiempo), usted puede hacer:

a.splice(a.end(), b);

En su situación de empalme sería mejor, ya que sólo implica el ajuste de un par de punteros en las listas enlazadas.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X