Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void cs(vector<int>& v)
- {
- int s = (int)v.size();
- int min = v[0];
- int max = v[0];
- for (int i = 0; i < s; i++)
- {
- if (min > v[i])
- min = v[i];
- if (max < v[i])
- max = v[i];
- }
- int range = max - min + 1;
- vector<int> count(range, 0);
- for (int i = 0; i < s; i++)
- {
- count[v[i] - min]++;
- }
- for (int i = 0; i < range - 1; i++)
- {
- count[i + 1] += count[i];
- }
- vector<int> sort(s);
- for (int i = s - 1; i >= 0; i--)
- {
- sort[count[v[i] - min] - 1] = v[i];
- count[v[i] - min]--;
- }
- // min to max
- for (int i = 0; i < s; i++)
- {
- v[i] = sort[i];
- }
- //// max to min
- //for (int i = 0; i < s; i++)
- //{
- // v[s - i - 1] = sort[i];
- //}
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement