#include <iostream>
using namespace std;
void countSort(int arr[], int length, int *orderedArr) {
int *count = new int[length]();
for (int i=0; i<length; ++i)
for (int j=i+1; j<length; ++j)
arr[j]<arr[i] ? ++count[i] : ++count[j];
for (int c=0; c<length; ++c) orderedArr[count[c]] = arr[c];
delete count;
}
void printArray(int arr[], int len) {
for (int i=0; i<len; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int arr0[] = {60, 30, 80, 90, 9, 47};
int orderedArr[10];
printArray(arr0, 6);
countSort(arr0, 6, orderedArr);
printArray(orderedArr, 6);
int arr1[] = {62, 47, 84, 96, 62, 47, 96, 96};
printArray(arr1, 8);
countSort(arr1, 8, orderedArr);
printArray(orderedArr, 8);
int arr2[] = {0};
printArray(arr2, 1);
countSort(arr2, 1, orderedArr);
printArray(orderedArr, 1);
int arr3[] = {};
printArray(arr3, 0);
countSort(arr3, 0, orderedArr);
printArray(orderedArr, 0);
int arr4[] = {5, 6, 7};
printArray(arr4, 3);
countSort(arr4, 3, orderedArr);
printArray(orderedArr, 3);
return 0;
}