Bibliothèque de listes C ++ - fonction splice ()

La description

La fonction C ++ std::list::splice()transfère les éléments dans la plage du premier au dernier de x à * this. Les éléments sont insérés avant l'élément pointé par position .

Déclaration

Voici la déclaration de l'en-tête std :: list de la fonction std :: list :: splice ().

C ++ 98

void splice (iterator position, list& x, iterator first, iterator last);

C ++ 11

void splice (const_iterator position, list& x, const_iterator first, const_iterator last);

Paramètres

  • position - Position dans la liste où le nouvel élément à insérer.

  • x - Un autre objet de liste du même type.

  • first - Entrer l'itérateur à la position initiale dans la plage

  • last - Entrer l'itérateur à la position finale dans la plage

Valeur de retour

Aucun

Exceptions

Le comportement n'est pas défini si la plage fournie n'est pas valide.

Complexité temporelle

Linéaire ie O (n)

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: list :: splice ().

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l1 = {1, 2};
   list<int> l2 = {3, 4, 5};

   l1.splice(l1.end(), l2, l2.begin(), l2.end());

   cout << "Contents of list l1 after splice operation" << endl;

   for (auto it = l1.begin(); it != l1.end(); ++it)
      cout << *it << endl;

   return 0;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Contents of list l1 after splice operation
1
2
3
4
5