void counting_sort() { int array[5] = {3, 6, 9, 9, 1}; //对5个数进行排序,用i表示 int c[ 9 + 1 ] = {}; //数字范围是0~9,用j表示 for (int i = 0; i < 5; i++){ //统计数字数量 c[array[i]]++; } for (int j = 0, i = 0; j < 10 && i < 5; j++){ //从小到大读取lookup table,并排序 while (c[j] > 0){ c[j]--; array[i++] = j; } } }