计数排序的核心思想是:对需要排序的数组A,计算出A中各个元素在排序后的数组B中的位置,然后在把A中的数值存放到B中相应的位置。
这里最重要的步骤就是对A中每一个元素进行计算,算出这个元素所在的位置。
下面就是详细代码:
/*
* 计数排序算法的java实现
* @version 1.0 2012/3/31
* @author akon
*/
package com.akon405.www;
public class CountingSort {
public CountingSort(int[] A,int lenght,int largest){
int[] temp = new int[largest+1];//创建一个临时数组,这个数组有两个用处
int i;
int[] B=new int[lenght];
for(i=0;i<=largest;i++){
temp[i]=0;
}
for(i=1;i<A.length;i++){
temp[A[i]]++;//计算出A[i]的个数,把个数存在temp[A[i]]中
}
for(i=1;i<=largest;i++){
temp[i]=temp[i]+temp[i-1];//计算出<=i的个数,存放在temp[i]中
}
for(i=lenght-1;i>=0;i--){
B[temp[A[i]]]=A[i];//temp[A[i]]为在数组A中,小于等于A[i]的个数
temp[A[i]]--;//个数减1
}
//输出排序的结果
for(i=0;i<lenght;i++){
System.out.print(B[i]+",");
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] A={1,2,3,9,4,7,5,2,8};
int large=9;
int lenght=A.length;
System.out.print("排序结果:");
new CountingSort(A,lenght,large);
}
}
分享到:
相关推荐
C语言版的排序方法---计数排序.非常有用的代码,可以实际中使用。
本软件 用于计算或验证CRC8 CRC16 CRC32 等50多种计数结果。 LRC-冗余校验 ---------- C0 BBC-异或校验 ---------- 80 CRC-6/ITU ------------- 35 CRC-7/MMC ------------- 2A CRC-8 ----------------- E9 CRC-8/...
算法-理论基础- 排序- 计数排序(包含源程序).rar
主要是对算法导论中计数排序的实现
GB 2828.1-2012计数抽样检验程序
2017/4/9---------图片中昆虫虫体计数 2017/4/22-------PyQt和OpenCV_VideoFrame结合做出基本界面 摄像头Frame中检测虫体数目,并在界面中显示标出 学习昆虫图像特征的提取,参考论文中提出的几个特征量 提取...
//延时循环计数 //} //------------------------------------------------------------------- void delay_IIC(void) {//IIC总线限速延时函数。 //该函数是空函数,延时4个机器周期。 ; ; } //-----------------...
详解Java常用排序算法-计数排序
2017/4/9---------图片中昆虫虫体计数 2017/4/22-------PyQt 和 OpenCV_VideoFrame 结合做出基本界面 摄像头 Frame 中检测虫体数目,并在界面中显示标出 学习昆虫图像特征的提取,参考论文中提出的几个特征量 提取...
综合性实验---计数、译码、显示华农复习过程.pdf综合性实验---计数、译码、显示华农复习过程.pdf综合性实验---计数、译码、显示华农复习过程.pdf综合性实验---计数、译码、显示华农复习过程.pdf综合性实验---计数、...
综合性实验---计数、译码、显示华农复习过程.docx综合性实验---计数、译码、显示华农复习过程.docx综合性实验---计数、译码、显示华农复习过程.docx综合性实验---计数、译码、显示华农复习过程.docx综合性实验---...
该资源提供了在Java中如何实现计数排序的全面指南。文档涵盖了计数排序的基本概念,包括如何对数组进行排序以及如何在Java中实现计数排序。此外,文档还包括一个逐步指南,介绍了如何在Java中实现计数排序,包括详细...
GBT2828.1-2012 计数抽样检验标准的理解与实施[宣贯].ppt
javascript实例应用---计数转换类.rarjavascript实例应用---计数转换类.rarjavascript实例应用---计数转换类.rarjavascript实例应用---计数转换类.rar
细胞计数方法------细胞计数板法.doc
- From a german contest(delphi)- geo , md5 , blowfish algorithms
算法与分析实验3 利用预排序、堆排序和计数排序解决排序问题 一、实验目的 1. 掌握变治法和时空权衡的思想与实现。 2. 掌握利用利用变治法和时空权衡的思想来解决排序问题。 3. 分析核心代码的时间复杂度和空间...
//排序类 提供int排序的静态方法 有以下排序: 快速排序 堆排序 计数排序 桶排序 归并排序
NDAM-7204 2通道计数/测频模块数据手册pdf,NDAM是全新一代基于网络通讯的刀片式数据采集控制系统。采用积木化结构,简单、灵活,通讯模块和各种数据采集控制模块自由组合,应对各种现场应用。可以通过以太网、RS-485...
//不断计数,周期约为1.28s //------------------------------------------------------- reg[15:0] wr_data; // SRAM写入数据总线 reg[15:0] rd_data; // SRAM读出数据 reg[17:0] addr_r; // SRAM地址总线 ...