Biblioteca de listas C ++ - função merge ()

Descrição

A função C ++ std::list::merge()mescla duas listas classificadas em uma usando a semântica de movimentação. As listas devem ser classificadas em ordem crescente.

Declaração

A seguir está a declaração para o cabeçalho da função std :: list :: merge () std :: list.

C ++ 11

void merge (list&& x);

Parâmetros

x - Outro objeto de lista do mesmo tipo.

Valor de retorno

Nenhum.

Exceções

Esta função de membro nunca lança exceção.

Complexidade de tempo

Linear, ou seja, O (n)

Exemplo

O exemplo a seguir mostra o uso da função std :: list :: merge ().

#include <iostream>
#include <list>

using namespace std;

int main(void) {
   list<int> l1 = {1, 5, 11, 31};
   list<int> l2 = {10, 20, 30};

   l2.merge(move(l1));

   cout << "List contains following elements after merge operation" << endl;

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

   return 0;
}

Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -

List contains following elements after merge operation
1
5
10
11
20
30
31