zoukankan      html  css  js  c++  java
  • 桶排序

    为何叫桶排序呢?

    想像标号0-10的桶初始化0(数据范围在0--10之间),每出现一个号就在相应的桶中增加1,最终按顺序显示数组,

    那么 就是最终的排序了

    //利用数组排序,a[0]--a[10],代表0---10,
    
    #include <stdio.h>
    int main()
    {
        int a[11], i, j, t;        //表示数据范围为0---10
        for (i = 0;i < 10;i++)
            a[i] = 0;//初始化为0
    
        for (i = 1;i <= 5;i++)
        {
            scanf("%d", &t);//把每一个数读到变量t中
            a[t]++;
        }
    
        //for (i = 0;i <= 10;i++)            //递增排序  
            for (i = 10;i >= 0;i--)         //递减排序

    for (j = 1;j <= a[i];j++)
    {
    printf("%d", i);
    printf(" ");
    }

        getchar();
        getchar();
    
        return 0;
    }

    桶排序问题:

    桶空间浪费,即使排序3个数比如,若排序数范围在1000以内,那么也要需要1001个桶,很浪费空间

  • 相关阅读:
    5.3二叉树的运算
    hadoop namenode切换
    org.apache.hadoop.security.AccessControlException
    Hive中的日志
    命令大全详解
    python深浅copy
    awk命令
    head&tail命令
    cut命令
    理解inode
  • 原文地址:https://www.cnblogs.com/skylover/p/7119202.html
Copyright © 2011-2022 走看看