#include<stdio.h>intmaxnum(int arr[], int n){
int max = 0;
for (int i = 0; i < n; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
intminnum(int arr[], int n){
int min = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] < min) {
min = arr[i];
}
}
return min;
}
voidcountsort(int arr[], int n){
int len = maxnum(arr, n) - minnum(arr, n) + 1;
int count[len];
int index = 0;
for (int i = 0; i < len; i++) {
count[i] = 0;
}
for (int i = 0; i < n; i++) {
count[arr[i] - minnum(arr, n)]++;
}
for (int i = 0; i < len; i++) {
while (count[i] > 0) {
arr[index++] = i + minnum(arr, n);
count[i]--;
}
}
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
}
intmain(){
int arr[] = {10, 30, 55, 18, 95, 61, 45, 44, 99};
int n = sizeof(arr) / sizeof(arr[0]);
countsort(arr, n);
return0;
}