Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. void cs(vector<int>& v)
  2. {
  3. int s = (int)v.size();
  4. int min = v[0];
  5. int max = v[0];
  6. for (int i = 0; i < s; i++)
  7. {
  8. if (min > v[i])
  9. min = v[i];
  10. if (max < v[i])
  11. max = v[i];
  12. }
  13. int range = max - min + 1;
  14. vector<int> count(range, 0);
  15.  
  16. for (int i = 0; i < s; i++)
  17. {
  18. count[v[i] - min]++;
  19. }
  20.  
  21. for (int i = 0; i < range - 1; i++)
  22. {
  23. count[i + 1] += count[i];
  24. }
  25.  
  26. vector<int> sort(s);
  27. for (int i = s - 1; i >= 0; i--)
  28. {
  29. sort[count[v[i] - min] - 1] = v[i];
  30. count[v[i] - min]--;
  31. }
  32.  
  33. // min to max
  34. for (int i = 0; i < s; i++)
  35. {
  36. v[i] = sort[i];
  37. }
  38.  
  39. //// max to min
  40. //for (int i = 0; i < s; i++)
  41. //{
  42. // v[s - i - 1] = sort[i];
  43. //}
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement