fork(2) download
  1.  
  2.  
  3. #include<iostream>
  4. #include<algorithm>
  5. #include<map>
  6. #include<vector>
  7.  
  8. int main()
  9. {
  10. std::vector<std::string> most { "lion","tiger","kangaroo",
  11. "donkey","lion","tiger",
  12. "lion","donkey","tiger"
  13. };
  14. std::map<std::string, int> src;
  15. for(auto x:most)
  16. ++src[x];
  17.  
  18. std::multimap<int,std::string,std::greater<int> > dst;
  19.  
  20. std::transform(src.begin(), src.end(), std::inserter(dst, dst.begin()),
  21. [] (const std::pair<std::string,int> &p) {
  22. return std::pair<int,std::string>(p.second, p.first);
  23. }
  24. );
  25.  
  26. std::multimap<int,std::string>::iterator it = dst.begin();
  27.  
  28. for(int count = 0;count<3 && it !=dst.end();++it,++count)
  29. std::cout<<it->second<<":"<<it->first<<std::endl;
  30.  
  31. }
Success #stdin #stdout 0s 3480KB
stdin
Standard input is empty
stdout
lion:3
tiger:3
donkey:2