/**

* 题目:

* 5个人考试得分分别为 5分,3分,5分,2分,8分;满分是10分;

* 要将 5 3 5 2 8 这个数组进行降序排序;

* 即排序后变为 8 5 5 3 2;

* */

/**

* 桶排序解法: 建一个大小为11的一维数组a,a[0]~a[10]元素都初始化为0,

* 用元素下标0~10表示分数,用元素的值表示有多少人得过该元素下标对应的分数; 例如:

* a[1]=0表示0人得1分,a[5]=2表示有2人得5分,‘5’代表5分,‘2’代表2个人得5分;

*

* 接下来在a数组的循环中对每个人的分数进行遍历,分数值等于数组下标,该数组的值加1

* */

public class BucketSort {

public int[] bucketSort(int[] array) {

int[] a = new int[11];

for (int i = 0; i < a.length; i++) {

for (int j = 0; j < array.length; j++) {

if (array[j] == i) {

a[i] += 1;

}

}

}

return a;

}

public static void main(String[] args) {

BucketSort bucket = new BucketSort();

int[] array = { 5, 3, 5, 2, 8 };

int[] a = bucket.bucketSort(array);

for (int i = a.length - 1; i >= 0; i--) {

if (a[i] > 0) {

for (int j = 0; j < a[i]; j++)

System.out.println(i);

}

}

}

}

输出:

8 5 5 3 2

啊哈java_1.桶排序——啊哈算法java实现相关推荐

  1. C++bucket sort桶排序的实现算法(附完整源码)

    C++bucket sort桶排序的实现算法 C++bucket sort桶排序的实现算法完整源码(定义,实现,main函数测试) C++bucket sort桶排序的实现算法完整源码(定义,实现,m ...

  2. C语言桶排序Bucket sort算法(附完整源码)

    桶排序Bucket sort算法 桶排序Bucket sort算法的完整源码(定义,实现,main函数测试) 桶排序Bucket sort算法的完整源码(定义,实现,main函数测试) #includ ...

  3. python快速排序算法详细图解_Python实现桶排序与快速排序算法结合应用示例

    说明: FreeNAS是一个基于FreeBSD的开源网络存储系统,支持iSCSI.NFS等共享协议, 通过Web页面进行管理,安装FreeNAS最小需要2G硬盘. 最新版本下载: http://iso ...

  4. 【排序算法】图解桶排序

    目录 前言 桶排序思想 桶排序算法分析 时间复杂度分析 桶排序适用情况 实现一个桶排序 结语 前言 在数据结构与算法的排序中,我们很多人可能更多的熟悉冒泡排序.快速排序.归并排序.可能对堆排序.桶排序 ...

  5. 排序算法----桶排序(java版)

    桶排序 桶排序(Bucket Sort)顾名思义,会用到"桶",我们可以将其想象成一个容器,核心思想是将要排序的数据分到几个有序的桶里,每个桶里的数据再单独进行排序.桶内排完序之后 ...

  6. 桶排序算法(基于Java实现)

    title: 桶排序算法(基于Java实现) tags: 桶排序算法 桶排序算法的原理和代码实现 一.桶排序算法的原理 桶排序,顾名思义,会用到"桶",核心思想是将要排序的数据分到 ...

  7. 有道算法题--排序之桶排序实现求排序后相邻最大差值问题

    前言 一直误以为写文章太耗费费时间,昨日为尊敬高贵帅气逼人的导师所一语惊醒(未一鸣惊人之日,绝不提尊师名讳,嗯,没错),分享才是程序员最快的提升: 今天开始,做不到多写多练,就不是诚实善良的南方小菜啦 ...

  8. php桶排序,PHP实现桶排序算法

    本篇讲解PHP实现桶排序算法. 简单意义上的桶排序: 桶排序的原理是先安排N+1个桶作为容器,若数据范围为N的话. 然后将测试数据(所需排序的数据)进行循环,放入对应的桶内.数据一定是在范围N内的. ...

  9. 木桶排序算法_这才是你想要桶排序

    前面说的 昨天发的桶排序文章,有同学回复,确实有比较精明的同学,文章就是想提出一个比较简单的思路,本来想给自己的排序方式写个名字叫做"木桶排序",这篇文章讲解真正的桶排序,结合前面 ...

最新文章

  1. 违反计算机网络安全如何处罚,网络信息安全知识:违反治安管理行为的处罚包括()。...
  2. 微信支付条码支付上线啦
  3. Byzantine Fault Tolerance in Proof-of-stake protocols
  4. 手机usb共享计算机网络连接,如何将手机wifi网络通过USB共享给电脑?小编教你共享方法...
  5. java中 静态方法与成员方法何时使用
  6. KeyMob移动广告聚合平台-致力于打造最牛的聚合平台
  7. 我如何使用回归分析通过Scikit-Learn和Statsmodels分析预期寿命
  8. docker 镜像开机自启动_Docker常用命令总结
  9. java如何配置log4j_eclipse中纯java配置log4j日志
  10. a better git log
  11. 自定义报表(demo1)
  12. 随机出题在线考试系统php_随机出题在线考试系统
  13. python xy 官网_zwPython,字王集成式python开发平台,比pythonXY更强大、更方便。
  14. 计算机四级c语言试题及答案,计算机等级考试试题及答案
  15. 第三方包的安装及管理
  16. Linux三剑客练习
  17. 使用Java自动化方法模拟Android手机点击、触屏事件
  18. 贝多芬没能写完的《第十交响曲》,即将被人工智能完成
  19. 固定IP地址及其重启后地址更改的解决方法
  20. 敏捷 Scrum 大师班认证培训的终极方案 | The Ultimate Agile Scrum Master Certification Training

热门文章

  1. 揭秘阿里云EB级大数据计算引擎MaxCompute
  2. Quick BI v3.0版本全新起航——2018杭州云栖大会
  3. 华南地区最大数据中心上线 阿里云河源数据中心正式开服
  4. IBM推出可加快响应跨云网络威胁的开放技术 业界首次实现跨安全工具和跨云的搜索威胁功能,无需移动数据
  5. oracle表压缩比,oracle的compress 特性介绍
  6. android 离屏渲染 简单书,Android OpenGL ES 8.FrameBuffer离屏渲染
  7. 虚拟机linux命令界面转,虚拟机-linux系统中图形界面和命令行界面切换
  8. qtextedit 默认文案_QTextEdit的paste
  9. 项目运行报'vue-cli-service' 不是内部或外部命令,也不是可运行的程序 或批处理文件“
  10. 微信小程序---实现输入手机验证码功能