Нужна помощь в реализации сортировки подстчетом
Месяца 1,5 назад писал сортировку подсчётом. Сейчас уже потихоньку подхожу к шаблонам и возникает вопрос: как, сохрняя эту же реализацию, написать шаблоную функцию сортировки.
void fillZeros(std::vector<int> counter, int maxElement) {
for(int i = 0; i < maxElement; i++) {
counter[i] = 0;
}
}
template<typename Collection, typename M>
void countingSort(Collection ar, M maxElement) {
std::vector<int> counter;
fillZeros(counter, maxElement);
for(int i = 0; i < ar.size(); i++) {
counter[ar[i]]++;
}
int position = 0;
for(int i = 0; i < maxElement; i++) {
for(int j = 0; j < counter[i]; j++) {
ar[position++] = i;
}
}
}