编辑代码

#include <iostream>

using namespace std;

void countSort(int arr[], int length, int *orderedArr) {
	int *count = new int[length]();
	for (int i=0; i<length; ++i)
		for (int j=i+1; j<length; ++j)
			arr[j]<arr[i] ? ++count[i] : ++count[j];
	for (int c=0; c<length; ++c) orderedArr[count[c]] = arr[c];
	delete count;
}

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

int main() {
	int arr0[] = {60, 30, 80, 90, 9, 47};
	int orderedArr[10];
	printArray(arr0, 6);
	countSort(arr0, 6, orderedArr);
	printArray(orderedArr, 6);
	
	int arr1[] = {62, 47, 84, 96, 62, 47, 96, 96};
	printArray(arr1, 8);
	countSort(arr1, 8, orderedArr);
	printArray(orderedArr, 8);
	
	int arr2[] = {0};
	printArray(arr2, 1);
	countSort(arr2, 1, orderedArr);
	printArray(orderedArr, 1);
	
	int arr3[] = {};
	printArray(arr3, 0);
	countSort(arr3, 0, orderedArr);
	printArray(orderedArr, 0);
	
	int arr4[] = {5, 6, 7};
	printArray(arr4, 3);
	countSort(arr4, 3, orderedArr);
	printArray(orderedArr, 3);
    
	return 0;
}