fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <tuple>
  4. #include <set>
  5. #include <unordered_map>
  6. #include <algorithm>
  7. #include <iterator>
  8. using namespace std;
  9.  
  10. int main() {
  11. std::vector<int> data = {7, 9, 2, 7, 9};
  12. std::unordered_map<int,int> count;
  13. for (auto v : data)
  14. count[v]++;
  15. std::sort(
  16. data.begin()
  17. , data.end()
  18. , [&](int a, int b) {
  19. return std::tie(count[a], a) > std::tie(count[b], b);
  20. }
  21. );
  22. std::copy(data.begin(), data.end(), std::ostream_iterator<int>(std::cout, " "));
  23. return 0;
  24. }
Success #stdin #stdout 0s 4512KB
stdin
Standard input is empty
stdout
9 9 7 7 2