English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Uso e exemplo da função List merge()

C++ Lista ( Lista )

C ++ A função List merge() combina duas listas ordenadas em ordem crescente. Ela combina a lista y na lista contêiner dada, removendo todos os elementos da lista y.

Pode ocorrer duas situações na função de combinação merge():

Se o comparador não for passado como parâmetro, duas listas ordenadas serão combinadas em uma lista.

Se o comparador for passado como parâmetro, a lista será combinada com base na comparação interna.

sintaxe

duas listas list1e lista2。A sintaxe é:

lista1.merge(list2);
lista1.merge(list2,compare);

parâmetro

lista2: para combinar com a lista1lista combinada.

compare: Este é um objeto de função de comparação, usado para comparar o valor do primeiro parâmetro com o valor do segundo parâmetro. Se o valor do primeiro parâmetro for menor que o valor do segundo parâmetro, retornará true, caso contrário, retornará false.

Retorno

ele não retorna nenhum valor.

Exemplo1

Vamos olhar um exemplo simples

#include <iostream>
#include<list>
using namespace std;
int main()
{
   list<int> li={1,2,3,4});
   list<int> li1={5,6,7,8});
   li.merge(li1);
   for(list<int>::iterator itr = li.begin(); itr != li.end();++itr){
       std::cout << *itr << "  " << std::endl;  
   }   
   return 0;
}

Saída:

1 2 3 4 5 6 7 8

Neste exemplo, a função merge() combina a lista li com a lista li1combinação em uma lista.

Exemplo2

Vamos olhar um exemplo simples, quando o comparador é passado como parâmetro

#include <iostream>
#include<list>
using namespace std;
bool comparison(int first, int second)
{
    bool a;
    a = first < second;
    return (a);
}
int main()
{
  list<int> li={9,10,11});
  list<int> li1={5,6,7,15});
  li.merge(li1,comparison);
  for(list<int>::iterator itr = li.begin(); itr != li.end();++itr){
      std::cout << *itr << " " << std::endl;
  }  
  return 0;
}

Saída:

5 6 7 9 10 11 15

Neste exemplo, a função merge() combina listas com base na comparação interna.

C++ Lista ( Lista )