编辑代码

#include <stdio.h>
#include <stdlib.h>

void printArray(int arr[], int len) {
    for(int i = 0; i < len; i++) {
        printf("%4d",arr[i]);
    }
    printf("\n");
}

void countSort (int arr[], int len, int orderedArr[]) {
    //需要一个统计的数组
    int *count = (int*)malloc(sizeof(int)*(len));

    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];  
    }
}

int main () {
    int arr1[] = {62, 31, 84, 96, 19, 47};
    int orderedArr1[6];
    printArray(arr1, 6);
    countSort(arr1, 6, orderedArr1);
    printArray(orderedArr1,6);

}