//假设要排序的数字都是小于100的 void count_sort( intdata[], intsize ) { int count_arr[100]; int temp[size]; int i, j, k; for ( k = 0; k < 100; k++ ) count_arr[k] = 0; for ( i = 0; i < size; i++ ) count_arr[data[i]]++; for ( i = 1; i < 100; i++ ) count_arr[i] = count_arr[i-1] + count_arr[i]; for ( j = size; j > 0; j-- ) { temp[--count_arr[data[j-1]]] = data[j-1]; } for ( i = 0; i < size; ++i ) data[i] = temp[i]; }