Bonjour à tous,
Je recherche un algorithme permettant de comparer deux list d'entier et de ne garder que les éléments en commun.
Existe-il une fonction toute faite et optimisée dans la STL ? ce qui m'éviterais de réinventer..
Merci pour vos réponses![]()
Bonjour à tous,
Je recherche un algorithme permettant de comparer deux list d'entier et de ne garder que les éléments en commun.
Existe-il une fonction toute faite et optimisée dans la STL ? ce qui m'éviterais de réinventer..
Merci pour vos réponses![]()









Bonsoir,
Oui, tu peux faire appel à std::unique, mais il faut auparavant avoir trié la liste avec sort.
Edit : Pardon, j'ai répondu trop vite et raconté n'importe quoi
La fonction que tu cherches se nomme set_intersection, disponible dans l'header <algorithm>
Voila, je répond un peu tard mais vaut mieux tard que jamais!!
Donc en effet, la fonction set_intersection permet bien de retenir uniquement les éléments qui sont commun à deux conteneurs.
Et, oui je confirme que les conteneurs doivent être triés tous les deux avant de les traiter.
En tout cas, Merci beaucoup pour le temps gagné grâce à votre expérience précieuse et votre générosité
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 set_intersection(itMix->listOfBadBlockTags.begin(), itMix->listOfBadBlockTags.end(), itBegin->listOfBadBlockTags.begin(), itBegin->listOfBadBlockTags.end(), back_inserter(listTemp) );![]()
Partager