using System;
public class Program
{
public static void Main(string[] args)
{
double[] array = { 0.43, 0.69, 0.11, 0.72, 0.28, 0.21, 0.56, 0.80, 0.48, 0.94, 0.32, 0.08 };
BucketSort(array);
ShowSord(array);
Console.ReadKey();
}
private static void ShowSord(double[] array)
{
foreach (var num in array)
{
Console.Write($"{num} ");
}
Console.WriteLine();
}
public static void BucketSort(double[] array, int bucketNum=10)//最多就10个桶 因为是十进制只有10个数
{
//创建bucket时,在二维中增加一组标识位,其中bucket[x, 0]表示这一维所包含的数字的个数
//通过这样的技巧可以少写很多代码
double[,] bucket = new double[bucketNum, array.Length + 1];//其实这样有点浪费空间 用list 可能更好 空间不够那种 自动增加 减少
foreach (var num in array)//数组中每个元素找