桶排序/哈希排序

特点:

  • 稳定
  • 是最快的排序算法,时间复杂度O(m+n)
  • 耗空间,最大的数多大,桶就要多少个
#include <iostream>
using namespace std;

int main() {
    int n;
    cin>>n;
    int nums[10];
    for (int i = 0; i < n; i++) {
        cin>>nums[i];
    }
    
    int bucket[1001]; //假设输入nums[i]数字范围为0~1000
    for (int i = 0; i < 1001; i++) {
        bucket[i] = 0; //初始化
    }
    for (int i = 0; i < n; i++) {
        bucket[nums[i]]++;
    }
    
    for (int i = 0; i < 1001; i++) { //遍历所有的桶,从小到大输出
        for (int j = 0; j < bucket[i]; j++) {//一个数出现几次就打印几次
            cout<<i<<" ";
        }
    }
    cout<<endl;
    return 0;
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,…,an输出...
    BULL_DEBUG阅读 801评论 0 3
  • 这个营还有2天就要结束了。在这个群里,你最想勾搭的人、最想感谢的人、最想成为的人分别是谁?为什么? 还有两天群就要...
    张志飞阅读 121评论 0 0
  • 在生活当中,你是否有如下体验: 和女友就某个主题聊天时,聊着聊着就吵起来了 给同事讲解自己的idea,但是不管怎么...
    投资进化营阅读 259评论 0 3
  • 霞晚遇到第四个主人的时候,已经8岁了。 在狗的一生里,霞晚算是进入了老年。 经历了许多之后的霞晚,保持了一个历经沧...
    风余阅读 567评论 1 2