fork download
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <set>
  4. #include <iterator>
  5. #include <string>
  6.  
  7. int main()
  8. {
  9. typedef std::multiset<std::string> mySet;
  10. typedef std::multiset<std::string>::iterator mySetItr;
  11.  
  12. mySet mWords;
  13.  
  14. mWords.insert("A");
  15. mWords.insert("A");
  16. mWords.insert("B");
  17.  
  18. mySetItr it = std::begin(mWords), itend = std::end(mWords);
  19. std::for_each<mySetItr&>(it, itend, [&mWords, &it] (const std::string& word)
  20. {
  21. auto p = mWords.equal_range(word);
  22. int count = static_cast<int>(std::distance(p.first, p.second));
  23. std::cout << word << " " << count << std::endl;
  24. std::advance(it, count - 1);
  25. });
  26. }
  27.  
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
A 2
B 1