史上最简单的排序-桶排序

原谅我很久都没发作品,主要是本羊羔遇到了点棘手的问题……

话不多说,进入正题:


目录

题目

精讲桶排概念

实际生活->举例

计算机语言->举例

代码和题目


题目

我们需要给n个自然数排序(每个数不超过100),请用c++编写出来


精讲桶排概念

首先,我们要先弄清楚怎么桶排。


实际生活->举例

我们不妨举个例子:4个数,分别是1,4,2,1

于是我们把1放进编号为1的桶里,那么编号为1的桶里就有1个1;

接着,分别把后面的4,2,1放在对应编号的桶里,那么1号桶有2个1,2号桶有1个2,4号桶里有1个4

而我们的桶的编号是按顺序排的,就可以到每个桶里查看,如果桶里没有,则跳过,否则就把里面的数挨个输出,最后的答案就是1 1 2 4


怎么样?略懂一二了吗?想象力和理解力够好的人可以跳过了,剩下的如本羊羔的人一定觉得这个描述很抽象,所以我准备另外两套讲法(快夸我):

计算机语言->举例

依旧是那4个数:1,4,2,1

我们创建一个长度为4的数组a,为什么长度为4?这个问题留给你思考,待会儿解答

然后我们进行一个循环遍历:先把1放进下标为1的位置(简称位置1),那么位置1就有1个数;

然后把4放进位置4,那么位置4就有1个数;

接着把2放进位置2,那么位置2就有1个数;

最后把1放进位置1,那么位置1就有2个数。

我们把数分别放进了不同的桶里,最后再按照下标顺序输出即可:

位置1有2个数,我输出两个1;其它的也是如此。


讲到这儿,零基础的都看懂了吧?

思路很重要,然后再把代码写出来即可。

代码和题目

这里本羊羔就懒得写了,具体看此用户写的代码和提供的题目:

算法——桶排序(c++)_Passerby_XX的博客-CSDN博客_c++桶排序


没了,今天1024程序节,要不是没时间,我真想庆祝一下!

没想到吧,昨天是我们班主任的生日

本羊羔吃草去了,溜了……

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值