今天复习了桶排序。

例如现在有满分为10分的试卷,学生得分分别为2,8,5,3,5,7,现在要给这些分数按照从大到小输出,使用桶排序的思想:有11个桶,每个桶有一个编号,编号从0-10,每出现一个分数,则在相应编号的桶里面插入一个小旗子,最后按照旗子的数目分别输出桶的编号并对编号进行由大到小的排序。我用java代码实现的桶排序为:

 public class PaiXu {

     public static void main(String[] args) {
/*
* 20170120桶排序
*/
PaiXu px = new PaiXu();
int[] score = {5,3,5,2,8,0,7,10,4};
int[] sf = px.f(score);
for(int k=10;k>=0;k--){
if(sf[k]!=0){
for(int a=1;a<=sf[k];a++){
System.out.print(k+" ");
}
}
}
}
/*
* @param score 分数(0-10分)
* @return 返回计数数组
* 说明:使用数组来记录0-10出现的次数,所以定义数组长度为11,数组中每一个数初始赋值为0
*/
public int[] f(int[] score){
int[] outputsc = new int[11];
for(int i=0;i<=10;i++){
outputsc[i]=0;
}
for(int j=0;j<score.length;j++){
outputsc[score[j]]++;
}
return outputsc;
} }

执行结果为:

10    8    7    5    5    4    3    2    0    

最新文章

  1. C#设计模式之桥接
  2. Linux 平台安装Oracle Database 12c
  3. Mysql 5.7 Linux安装详细步骤
  4. 如何正确使用css中vertical-align
  5. 安装VS2008无法更改安装路径解决方法
  6. SignalR Supported Platforms -摘自网络
  7. ThinkPHP 自动验证与自动填充无效可能的原因
  8. SVN库迁移整理方法总结
  9. 在Github上搭建你的博客
  10. Android---OpenGL ES之添加动作
  11. 怎样在多线程中使用JNI?
  12. nodejs爬虫系统
  13. STM32笔记总结
  14. Spring MVC中Filter Servlet Interceptor 执行顺序
  15. layui+ztree 树状下拉框
  16. 本部jdk切换的坑!!!
  17. 微信小程序上拉下拉刷新
  18. 【Linux基础】awk命令
  19. STAT UN2102 Homework
  20. LeetCode:104_Maximum Depth of Binary Tree | 二叉树的最大深度 | Easy

热门文章

  1. Hub,bridge,switch and router的区别
  2. offsetLeft与style.left的区别
  3. 加载顺序 ready onload onreadystatechange
  4. Linux安装jdk10
  5. JAVA 判断对象内容是否含有空值
  6. Linux Shell编程 sort、wc命令
  7. pppoe白皮书
  8. [POI2008]砖块Klo
  9. hadoop实战项目:查找相同字母组成的字谜
  10. JDBC的一些代码