using System;
public class Program
{
// 计数排序
public static void CountingSort(int[] nums){
int[] cnt = new int[100]; // 声明count 数组,取值范围[0..99]
for(int i=0;i < nums.Length; i++){
cnt[nums[i]]++; // 对nums[i]在对应的index上进行计数
}
int top=0;
for(int i=0; i < 100; i++){
while(cnt[i] !=0){
nums[top++] = i; // 对倒数字
--cnt[i]; // 同一个数字的数目减一
}
}
}
public static void Main()
{
int[] nums = new int[]{4,5,7,2,3,1,6};
CountingSort(nums);
Console.WriteLine(string.Join(",",nums));
Console.WriteLine("Hello World");
}
}
1. 声明count 数组,取值范围[0..99]
2. 对nums[i]在对应的index上进行计数
3. 对倒数字
4. 同一个数字的数目减一