gwgirl 发表于 2021-12-9 08:40

C语言简单的桶排序代码

void Arr()
{
        int arr = { 5,6,8,7,1,4,2,9};
        int bucket = { 0 };        //定义一个桶数组用来记录arr中数值出现次数;并且初始化为0;

        for (int k = 0; k < 8; k++) //arr 数组中有8个元素,所以循环8次;
        {
                bucket]++;                //让arr的值作为bucket[下标],让这个下标中的值自增1;
        }
       

        printf("数组元素存入次数\n");
        for (int j = 0; j < 10; j++)
        {
                printf("%d ", bucket);
        }
        printf("\n");

//打印排序结果
        for (int i = 0; i < 10; i++)
        {
                if (bucket>=1)
                {
                        bucket = i;
                        printf("%d ", bucket);
                }
        }
        printf("\n");

}

int main()
{
Arr();
        return 0;
}

gwgirl 发表于 2021-12-9 09:57

bucket]++   实际就等于 是bucket] = bucket]+1

gwgirl 发表于 2021-12-9 10:10

数组有重复数的打印
void Arr()
{
        int arr = { 5,6,2,7,1,4,2,9};
        int bucket = { 0 };        //定义一个桶数组用来记录arr中数值出现次数;并且初始化为0;

        for (int k = 0; k < 8; k++) //arr 数组中有8个元素,所以循环8次;
        {
                bucket]++;                //让arr的值作为bucket[下标],让这个下标中的值自增1;
        }                                                                                //bucket]++   实际就等于 是bucket] = bucket]+1
       

        printf("数组元素存入次数\n");
        for (int j = 0; j < 10; j++)
        {
                printf("%d ", bucket);
        }
        printf("\n");

        //去重排序打印
        for (int i = 0; i < 10; i++)
        {
                if (bucket>0)
                {
                        printf("%d ", i);
                }
        }
        printf("\n");

        //直接排序打印
        int k;
        for (int i = 0; i < 10; i++)
        {
                if (bucket > 0)
                {
                        k = bucket;
                        while (k > 0)
                        {
                                printf("%d ", i);
                                k--;
                        }
                }
        }
        printf("\n");
}

int main()
{
        Arr();
        return 0;
}

a2605720503 发表于 2021-12-10 02:24

捞个hb不容易

brswbx201610 发表于 2021-12-10 10:08

谢谢分享,辛苦了!

花满楼 发表于 2022-1-7 21:34

感谢分享

拉长就钢铁侠 发表于 2022-1-22 19:31

感谢楼主

背后铅笔 发表于 2022-1-22 19:34

谢谢分享

YVQOH0948 发表于 2022-1-28 17:07

感谢楼主

evz8 发表于 2022-1-29 23:10

感谢楼主分享,我瞧瞧
页: [1] 2 3 4 5 6
查看完整版本: C语言简单的桶排序代码