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个桶,很浪费空间

  • 相关阅读:
    dota监测
    R0:前瞻
    Python基础
    c++成员函数
    异步IO简介
    使用自定义类型做qmap,qhash的key
    c++ primer 7 函数
    c++ primer 6 语句
    c++ primer 5 表达式
    c++ primer 4 数组和指针
  • 原文地址:https://www.cnblogs.com/skylover/p/7119202.html
Copyright © 2011-2022 走看看