编辑代码

#include <iostream>
using namespace std;

void countSort(int arr[],int len,int orderedArr[]){
    //计数的数组
    int *count=new int(len);
    for(int i=0;i<len;i++){
        count[i]=0;
    }

    //统计比i对应的元素小的元素的个数
    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];
    }
}

void printArray(int arr[],int len){
    for(int i=0;i<len;++i){
        cout<<arr[i]<<" ";
    }
    cout<<endl;
}



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