fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <map>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int grid_raw[] = { 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 3, 3, 3, 2, 2, 4, 1, 5, 3, 3, 6, 2, 6, 4, 5, 5, 5, 3, 6, 2, 6, 4, 4, 5, 5, 5, 6, 6, 6, 4, 7, 7, 8, 5, 8, 8, 8, 4, 7, 7, 8, 8, 8, 8, 8, 4, 7, 7, 7, 7, 8, 8, 8};
  9. vector<int> grid(grid_raw, grid_raw + sizeof grid_raw / sizeof *grid_raw);
  10.  
  11. map<int, int> buckets;
  12. for (vector<int>::iterator i = grid.begin(); i != grid.end(); ++i)
  13. {
  14. ++buckets[*i];
  15. }
  16.  
  17. vector<int> sorted;
  18. for (map<int, int>::iterator b = buckets.begin(); b != buckets.end(); ++b)
  19. {
  20. sorted.insert(sorted.end(), b->second, b->first);
  21. }
  22.  
  23. for (vector<int>::iterator i = sorted.begin(); i != sorted.end(); ++i) cout << *i << ", ";
  24. return 0;
  25. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,