首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >桶排序

桶排序

作者头像
attack
发布于 2018-04-12 06:57:39
发布于 2018-04-12 06:57:39
52900
代码可运行
举报
运行总次数:0
代码可运行

3. 桶排序

       桶排序的思想是若待排序的记录的关键字在一个明显有限范围内(整型)时,可设计有限个有序桶,每个桶装入一个值(当然也可以装入若干个值),顺序输出各桶的值,将得到有序的序列。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 #include<iostream>
 2 using namespace std;
 3 int a[100001];
 4 int b[100001];
 5 int maxn=-1;
 6 int main()
 7 {
 8     int n;
 9     cin>>n;
10     for(int i=1;i<=n;i++)
11     {
12         cin>>a[i];
13         a[i]=a[i]+5000;
14         b[a[i]]++;
15         if(a[i]>maxn)
16         maxn=a[i];
17     }
18     for(int i=0;i<=maxn;i++)
19     {
20         if(b[i]!=0)
21         {
22             for(int j=1;j<=b[i];j++)
23             {
24                 cout<<i-5000<<" ";
25             }
26         }
27     }
28     return 0;
29 }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-03-19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
杨校老师课堂之字符桶排序算法——桶排序结合字符标记专项题单
核心逻辑: 用数组下标映射字符的 ASCII 值,数组元素存储字符出现的次数(或是否出现)。
杨校
2025/07/03
630
❤️十大排序算法详解❤️——可能是你看过最全的,完整版代码
兄弟们,应上篇数据结构的各位要求,今天我开始工作了,开始肝算法,剑指offer还在路上,我真想开车去接它,奈何码神没有驾照的开车,算了,弄排序算法吧,有点长,耐心看啊,原创不易,你们懂的,先上一张图
秋名山码神
2022/12/13
3920
❤️十大排序算法详解❤️——可能是你看过最全的,完整版代码
两分钟真能搞懂桶排序
在数据结构与算法的排序中,我们很多人可能更多的熟悉冒泡排序、快速排序、归并排序。可能对堆排序、桶排序、计数排数等比较生疏,其实这个也没啥复杂的,算法的排序中,我们很多人可能更多的熟悉冒泡排序、快速排序、归并排序。可能对堆排序、桶排序、计数排数等比较生疏,其实这个也没啥复杂的,桶排序是所有排序中最简单的排序之一。 没毛病老铁,就是最简单的之一。并且桶排序和计数排序,基数排序有很多相似和渊源之处。
bigsai
2020/08/04
1.6K0
两分钟真能搞懂桶排序
【数据结构】C++用链表实现一个箱子排序附源代码详解
分配排序的基本思想:排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n)。
短短的路走走停停
2019/05/13
7970
【数据结构】C++用链表实现一个箱子排序附源代码详解
C++018-C++桶排序及其应用
在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/
IT从业者张某某
2023/10/16
4230
C++018-C++桶排序及其应用
八大经典排序算法总结
终于到了排序部分了。这部分也是最难总结的,毕竟不同的排序算法思想多少会有差别,有些甚至完全不一样。今天不知道要码多少字。好吧,先为我的手指默哀三分钟~
指点
2019/01/18
5210
八大经典排序算法总结
P1832 A+B Problem(再升级)
题目背景 ·题目名称是吸引你点进来的 ·实际上该题还是很水的 题目描述 ·1+1=? 显然是2 ·a+b=? 1001回看不谢 ·哥德巴赫猜想 似乎已呈泛滥趋势 ·以上纯属个人吐槽 ·给定一个正整数n
attack
2018/04/13
6360
桶排序的单链表实现及其变种
《算法导论》CLRS 第八章 线性时间排序 8.4 桶排序 桶排序的思想就是把区间[0, 1)划分成n个相同大小的子区间,每一个区间称为桶(bucket)。然后,将n个输入数据分布到各个桶中去。因为输入数均匀且独立均匀分布在[0, 1)上,所以一般不会有很多数落在一个桶中的情况。为得到结果,先对各个桶中的数进行排序,然后按次序把各个桶中的元素列出来即可。 在桶排序算法中,假设输入的是一个含n个元素的数组A,且每个元素满足0≤A[i]<1。另外,还需要一个辅助数组B[0..n-1]来存放链表(桶),并假设可以用某种机制来维护这些表。 BUCKET-SORT(A)
Enjoy233
2019/03/05
7180
桶排序的单链表实现及其变种
排序算法——一篇文章搞懂常用的排序算法
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 内部排序:数据元素全部放在内存中的排序。 外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序
海盗船长
2020/08/27
4500
排序算法——一篇文章搞懂常用的排序算法
十大经典排序算法(动态演示+代码)
堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于(或者大于)它的父节点。
用户6543014
2020/06/03
1K0
桶排序(Bucket Sort)的数组实现
桶排序Bucket Sort从1956年就开始被使用,该算法的基本思想是由E. J. Issac R. C. Singleton提出来。
Enjoy233
2019/03/05
1K0
桶排序(Bucket Sort)的数组实现
算法05-排序算法
本系列为C++算法学习系列,会介绍 算法概念与描述,入门算法,基础算法,数值处理算法,排序算法,搜索算法,图论算法, 动态规划等相关内容。本文为排序部分。
IT从业者张某某
2023/10/16
3690
算法05-排序算法
基数排序与桶排序,计数排序【详解】
桶排序简单入门篇^-^ 在我们生活的这个世界中到处都是被排序过的东东。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东东都
Angel_Kitty
2018/04/09
1.1K0
基数排序与桶排序,计数排序【详解】
桶排序
  桶排序是将待排序序列分到有限数量的桶中,然后对每一个桶分别进行排序。桶排序的前提假设为被排序序列的关键字数值符合均匀分布,此时桶排序的平均时间复杂度为 ,最坏时间复杂度为 其中 为桶的数量。当桶数量 时,此时桶排序的复杂度为线性复杂度 。
hotarugali
2022/03/01
2800
基本排序算法
把n个待排序的元素看成为一个有序表和一个无序表。开始时有序表中只包含1个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。(适用于少量元素的排序)
P_M_P
2024/01/18
1820
基本排序算法
桶排序及其应用
桶排序是计数排序的扩展版本,计数排序可以看成每个桶只存储相同元素,而桶排序每个桶存储一定范围的元素,通过映射函数,将待排序数组中的元素映射到各个对应的桶中,对每个桶中的元素进行排序,最后将非空桶中的元素逐个放入原序列中。
用户3467126
2019/11/06
1.2K0
桶排序及其应用
疯子的算法总结(六) 复杂排序算法 ② 桶排序
从《基于比较的排序结构总结 》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数的“比较”操作。桶排序就是这样的原理。
风骨散人Chiam
2020/10/28
5450
面试官爱问的10大经典排序算法,20+张图来搞定
冒泡排序是因为越小的元素会经由交换以升序或降序的方式慢慢浮到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名冒泡排序。
C语言与CPP编程
2021/05/18
6430
面试官爱问的10大经典排序算法,20+张图来搞定
C#桶排序算法
桶排序(Bucket Sort)是一种分布式排序算法,其基本思想是将数组分割成多个小区间,称为“桶”。算法的核心是将数据均匀地分配到这些桶中,然后对每个桶内的数据进行排序,最后再将所有桶内的数据合并成一个有序的数组。桶排序在处理大量数据时非常有效,特别是当数据分布比较均匀时。
Michel_Rolle
2024/10/10
3.2K0
算法--排序--大小写字母数字分离(桶排序思想)
题目: 对D,a,F,B,c,A,z这个字符串进行排序,要求将其中所有小写字母都排在大写字母的前面,但小写字母内部和大写字母内部不要求有序。比如经过排序之后为a,c,z,D,F,B,A,这个如何来实现呢?如果字符串中存储的不仅有大小写字母,还有数字。要将小写字母的放到前面,大写字母放在中间,数字放在最后,不用排序算法,又该怎么解决呢?
Michael阿明
2021/02/20
1.8K0
算法--排序--大小写字母数字分离(桶排序思想)
相关推荐
杨校老师课堂之字符桶排序算法——桶排序结合字符标记专项题单
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档