编辑代码

#include <stdio.h>  
#include <stdlib.h>
void countSort(int arr[], int len, int orderedArr[]) {  
    int *count = (int*)malloc(len * sizeof(int));  
    for (int i = 0; i < len; ++i) {  
        count[i] = 0;  
    }  
    for (int i = 0; i < len; ++i) {  
        for (int j = i+1; j < len; ++j) {  
            if (arr[i] > arr[j]) {  
                ++count[i];  
            }  
            else {  
                ++count[j];  
            }  
        }  
    }  
    for (int i = 0; i < len; ++i) {  
        orderedArr[count[i]] = arr[i];  
    }  
    free(count);  
}  
  
void printArray(int arr[], int len) {  
    for (int i = 0; i < len; ++i) {  
        printf("%d ", arr[i]);  
    }  
    printf("\n");  
}  
  
int main() {  
    int arr[] = {62, 31, 84, 96, 19, 47};  
    int orderedArr[6];  
    printArray(arr, 6);  
    countSort(arr, 6, orderedArr);  
    printArray(orderedArr, 6);  
    return 0;  
}