English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C ++ La fonction List merge() fusionne deux listes triées en ordre croissant. Elle ajoutera la liste y à la conteneur de liste donnée, ce qui supprimera tous les éléments de y.
Si aucun comparateur n'est passé en paramètre, deux listes triées seront fusionnées en une liste.
Si un comparateur est passé en paramètre, la liste sera fusionnée en fonction de la comparaison interne.
deux listes list1et list2。语法为:
list1.merge(list2); list1.merge(list2,compare);
list2:Pour lister1Liste fusionnée.
compare:C'est un objet de fonction de comparaison utilisé pour comparer la valeur du premier paramètre avec la valeur du second paramètre. Si la valeur du premier paramètre est inférieure à la valeur du second paramètre, renvoie true, sinon renvoie false.
Il ne renvoie aucune valeur.
Laissez-nous voir un exemple simple
#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; }
Sortie :
1 2 3 4 5 6 7 8
Dans cet exemple, la fonction merge() ajoutera la liste li à la liste li1les ajouter à une liste.
Laissez-nous voir un exemple simple, lorsque le comparateur est passé en paramètre
#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; }
Sortie :
5 6 7 9 10 11 15
Dans cet exemple, la fonction merge() combine les listes en fonction de la comparaison interne.