Ajouter une liste a une autre

Ajouter une liste a une autre - C++ - Programmation

Marsh Posté le 23-04-2010 à 17:16:50    

Salut,
 
J'ai une liste L(std::list) à laquelle je veux ajouter le contenu d'autres listes(std::list) parmi {L1;L2;L3,...}.
Le problème, c'est que dans std::list, je n'ai trouvé que la méthode splice, qui a pour effet de modifier la 2 ème liste, ce que je ne veux pas. Je voudrais éviter de devoir boucler à la mano sur les élements de chaque liste que je veux ajouter à L.
 
connaissez-vous un moyen efficace pour gérer ça?
 
Notons que je ne suis pas obligé d'agréger tous mes élements dans une liste, je pourrai tout simplement faire une liste de pointeurs sur des listes. Dans ce cas, ce serait beaucoup plus efficace (pas de parcours de listes, pas de recopies), mais ce serait pénible pour parcourir ensuite les éléments de mes listes de pointeurs listes.
 
Idéalement, il me faurait un conteneur de pointeurs sur des collections d'élément qui me permette de parcourrir tous mes éléments comme si j'avais une grosse liste unique.

Reply

Marsh Posté le 23-04-2010 à 17:16:50   

Reply

Marsh Posté le 23-04-2010 à 17:33:30    

Il y a un membre insert qui prend un iterateur ou inserer et une paire d'iterateur pour savoir quoi inserer.  Donc qqch comme

Code :
  1. l.insert(l.end(), l1.begin(), l1.end());


devrait faire ce que tu veux.


---------------
The truth is rarely pure and never simple (Oscar Wilde)
Reply

Marsh Posté le 23-04-2010 à 17:40:21    

en effet, c'est concis ^^

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed