Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void counting_sort(int* data, size_t data_size, int min, int max) {
- int range = max - min + 1;
- int* count_of = new int[range];
- for (size_t i = 0; i < range; i++) {
- count_of[i] = 0;
- }
- for (size_t i = 0; i < data_size; ++i) {
- ++count_of[data[i] - min];
- }
- size_t current_element = 0;
- for (size_t i = 0; i < range; ++i) {
- for (size_t j = 0; j < count_of[i]; ++j) {
- data[current_element++] = i + min;
- }
- }
- delete[] count_of;
- }
Add Comment
Please, Sign In to add comment