• 【16】算法(桶排序)


    • 桶排序是一种空间换取时间的排序,不是一种基于比较的排序,最好的情况下时间复杂度是O(n);
    • java思路:用List[]类型的集合数组表示桶,每个List代表一个桶,将数据根据整除得到的值直接放到对应编号的集合里面,再依次排序;
    • 桶排序思想:把数据分组,放在一个个的桶里面,然后对每个桶里面的数据再进行排序;
    void BaseSort()
    {
        int a[11], i, j, t;
        for (i=0; i<=10; i++) {
            a[i] = 0;
        }   
        printf("请输入10以内的数字:
    ");
    
        for (i=1; i<=5; i++) {
            scanf("%d", &t);
            a[t]++;
        }   
    
        for (i=0; i<=10; i++) {
            for (j=1; j<=a[i]; j++) {
                printf("%d  ", i); 
            }   
        }   
        getchar();
        getchar();
    }

    void AdvanceSort()
    {
        int a[1001], i, j, t, n;
        for (i=0; i<=1000; i++) {
            a[i] = 0;
        }
    
        scanf("%d", &n);
        printf("请输入%d个数:
    ", n);
        for (i=1; i<=n; i++) {
            scanf("%d", &t);
            a[t]++;
        }
    
        for (i=1000; i>=0; i--) {
            for (j=1; j<=a[i]; j++) {
                printf("%d ", i);
            }
        }
        getchar();
        getchar();
    }
    
    int main() {
        AdvanceSort();
        return 0;
    }

     

    参考链接:

    https://www.techug.com/post/fastest-most-simple-sort-sort-algorithm.html

    做一个优秀的程序媛
  • 相关阅读:
    继承和多态的纠错
    面向对象的七个设计原则
    C#中简单的继承和多态
    体验套餐管理系统
    项目经理评分(评价)
    考勤信息(员工打卡)
    Python中的进制转换
    Python常用模块
    Tornado中异步框架的使用
    Tornado框架的简单使用
  • 原文地址:https://www.cnblogs.com/oytt/p/15264403.html
Copyright © 2020-2023  润新知