编辑代码

#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,8,3,5};
	int orderedArr[5];

	printArray(arr,5);
	countSort(arr,5,orderedArr);
	printArray(orderedArr,5);

    int arr1[] = {20,23,21,57,12,5};
	int orderedArr1[6];

	printArray(arr1,6);
	countSort(arr1,6,orderedArr1);
	printArray(orderedArr1,6);

	return 0;
}