zoukankan      html  css  js  c++  java
  • 【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

    做一个优秀的程序媛
  • 相关阅读:
    4.JDBC编程
    android 多线程
    android 网络请求Ⅰ
    android 数据存储Ⅱ
    android 数据存储Ⅰ
    android 界面设计基本知识Ⅳ
    《将博客搬至CSDN》
    android 界面设计基本知识Ⅲ
    android 界面设计基本知识Ⅱ
    android 界面设计基本知识
  • 原文地址:https://www.cnblogs.com/oytt/p/15264403.html
Copyright © 2011-2022 走看看