comment trouver les doublons dans std::vector<string>, et de renvoyer une liste d'entre eux?

Donc, si j'ai un vecteur de mots comme:

Vec1 = "words", "words", "are", "fun", "fun"

liste: "plaisir", "les mots"

Je suis en train d'essayer de déterminer quels sont les mots dupliqués, et retourne un vecteur par ordre alphabétique de 1 exemplaire. Mon problème est que je ne sais même pas par où commencer, la seule chose proche de ce que j'ai trouvé était std::unique_copy qui n'est pas exactement ce dont j'ai besoin. Et plus précisément, je suis saisie d'un std::vector<std::string> mais la sortie d'un std::list<std::string>. Et si besoin, je peux utiliser foncteur.

Quelqu'un pourrait au moins me pousser dans la bonne direction s'il vous plaît? J'ai déjà essayé de lecture stl de la documentation,mais je suis juste "cerveau" bouché en ce moment.

Si vous utilisez un std::set pour stocker vos mots au lieu d'un vecteur vous obtenez l'unicité et le tri jeté dans pour gratuit.
Puisque vous le voulez (en ordre alphabétique), je suppose que vous ne me dérangerait pas si il a été trié?
eh bien, je peux en faire une copie, puis à les trier, oui
puis, je me "sont" dans le résultat, ce qui n'est pas ce dont j'ai besoin
Pas tout à fait "gratuitement" ; -)), Il est plus lente conteneur.

OriginalL'auteur Marina Golubtsova | 2013-07-27