JAVA语言之计数排序
来源:互联网 发布:淘宝宝贝背景图片素材 编辑:程序博客网 时间:2024/04/28 10:29
非比较的计数排序可以用桶排序的方式实现
代码如下:
package com.paixu;public class jishu {public static void main(String[] args) {int[] A=new int[]{1,2,3,5,2,3};A=jishu.countingSort(A, 6);for(int i=0;i<A.length;i++){System.out.print(A[i]+" ");}}public static int[] countingSort(int[] A, int n) { int min=A[0]; int max=A[0]; //得到数组中的最大值和最小值 for(int a:A){ min =Math.min(a, min); max =Math.max(a, max); }//然后创建一个刚好的数量的桶 int tongNum=max-min+1; int[] tong =new int[tongNum]; //然后将A中对应的数放进该桶 for(int a:A){ tong[a-min]++; }//用遍历的每一个数减去最小的数就能保存 int count=0; //现在将数组桶里面的数据一次倒出 for(int i=0;i<tongNum;i++){ //第一个for含义是指一共有多少个这样的桶 for(int j=0;j<tong[i];j++){ //第二个for含义是指遍历到的每一个桶里面有多少个同样的数据 //并且从0开始都小于这个数目tong[i] A[count]=i+min; //这个表达式i+min表示从最小值+0开始算起 count++; } } return A; }}
0 0
- JAVA语言之计数排序
- Java 排序之 计数排序
- 排序算法之线性排序(计数排序和桶排序)--Java语言
- 计数排序(Countsort)之Java实现
- 计数排序(Countsort)之Java实现
- 计数排序算法之Java实现
- 排序之计数排序
- 计数排序C语言
- 计数排序 (线性时间排序之基数排序,计数排序及java实现)
- 线性时间排序之计数排序(JAVA)
- Java 三种线性排序之计数排序
- 排序算法之——计数排序(Java实现)
- 排序算法之——计数排序(Java实现)
- 算法 排序算法之计数排序 java实现
- 数据结构之计数排序
- 计数排序Java实现
- 计数排序-java实现
- 计数排序--Java
- JAVA中的集合的概念
- HTTP的简单理解
- 常见的HTTP 状态代码及其原因
- CodeForces 669D Little Artem and Dance
- 五一游,清华,北大
- JAVA语言之计数排序
- Geekband009第九周笔记分享
- 动态删除ArrayList中的元素
- 找到满足条件的数组
- Javascript事件全解析——事件概述及传统事件类型
- 读取Kafka集群的消息
- php环境搭建
- java热部署及类加载
- HTTP协议