今天复习了桶排序。

例如现在有满分为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---桶排序java版的更多相关文章

  1. c++复杂桶排序Java版

    c++复杂桶排序Java版 题目和我的前几个排序一样 这次是Java版的 代码 + 注释 package com.vdian.qatest.supertagbiz.test.niu; /** * Cr ...

  2. 算法练习5---快速排序Java版

    基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成 ...

  3. 算法练习4---冒泡排序java版

    冒泡排序的基本思想:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即:每当两相邻的数比较后发现它们的排序与排序要求相反 ...

  4. 剑指Offer——回溯算法解迷宫问题(java版)

    剑指Offer--回溯算法解迷宫问题(java版)   以一个M×N的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍.设计程序,对任意设定的迷宫,求出从入口到出口的所有通路.   下面我们来详细讲一 ...

  5. Hark的数据结构与算法练习之桶排序

    算法说明 桶排序的逻辑其实特别好理解,它是一种纯粹的分而治之的排序方法. 举个例子简单说一下大家就知道精髓了. 假如对11,4,2,13,22,24,20 进行排序. 那么,我们将4和2放在一起,将1 ...

  6. JavaScript 数据结构与算法之美 - 桶排序、计数排序、基数排序

    1. 前言 算法为王. 想学好前端,先练好内功,只有内功深厚者,前端之路才会走得更远. 笔者写的 JavaScript 数据结构与算法之美 系列用的语言是 JavaScript ,旨在入门数据结构与算 ...

  7. 桶排序——PowerShell版

    读啊哈磊的算法书有感,十一期间想要重新学一学一些基本的算法和数据结构.不想下载编程工具了,毕竟是用室友的电脑,就用PowerShell写一下吧: $scores = @(88,13,99,26,62, ...

  8. 选择排序Java版

    package dataStructureAlgorithmReview.day01; import java.util.Arrays; /** * * @author shundong * */ p ...

  9. 经典算法二分查找循环实现Java版

    二分查找 定义 二分查找(Binary Search)又称折半查找,它是一种效率较高的查找方法. 要求 (1)必须采用顺序存储结构 (2)必须按关键字大小有序排列 查找思路 首先将给定值K,与表中中间 ...

随机推荐

  1. 非Linux环境下调用sh命令

    方法一:把cygwin的bin配置到环境变量里,这样做了以后在cmd.exe里也可以使用linux的命令 def exe_command(command): p = subprocess.Popen( ...

  2. unknown encoder libvpx

    brew install ffmpeg --with-libvpx or brew reinstall ffmpeg --with-libvpx

  3. 解决网络 下载 句柄无效。 (异常来自 HRESULT:0x80070006 (E_HANDLE))

    首先要共享该文件 其次 在安全里加IISSHARED 是IIS账号 下载代码 #region 下载        /// <summary>        /// 下载        // ...

  4. PyQt4调用UI文件

    方法1,转换到py调用 指令 pyuic4 test.ui -o testUi.py 方法2.直接调用ui文件 # -*- coding: utf-8 -*- """ - ...

  5. python操作——RabbitMQ

    RabbitMQ是一个在AMQP基础上完整的,可服用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue,消息队列(MQ)是一种应用程序对 ...

  6. 合并apk和odex 为完整的apk安装文件

    from:http://bbs.hiapk.com/thread-1151284-1-1.html 文件夹:<ignore_js_op> 文件夹拖放到odex.cmd,出现下面的窗口后,按 ...

  7. vue 项目结构说明

    eslink:规范es6的代码风格检测工具. npm install node-sass -g :全局安装,即使安装之后可以全局使用dode-sass,不用进到工具目录. .babel:把es6转换成 ...

  8. python对象类型----数字&字符串

    一数据类型:      float: 1.3e-3  1.3*10的负三次方 print (1.3e-3)    bin()  #转换为二进进制    oct() #转换为8进制    hex()#转 ...

  9. jQuery自动轮播图片焦点图

    在线演示 本地下载

  10. JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)

    转载注明出处: http://blog.csdn.net/cutesource/article/details/5904501 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.e ...