基数排序(java实现)
基数排序 就是先比较数组中元素的个位数,排序得到新的数组,然后比较新的数组中的十位数,排序得到新数组,然后再对最新得到的数组比较百位数.......依次循环
比如{82 ,31 ,29 ,71, 72, 42, 64, 5,110} 比较个位数 排序 得到新数列{110,31,71,82,72,42,64,5,29} 然后对新数列比较十位数{110,29,31,42,64,71,72,82} 然后比较百位数,没有百位数的算作0,所以得到{29,31,42,64,71,72,82,110}
代码如下:
//基数排序 arrays是需要排序的数组
List<Integer> list = new ArrayList<>();//辅助存储
int sortTimes = 0;
boolean flag = true;
while(flag){
flag = false;
for(int i = 0;i<=9;i++){
for(int index = 0; index<arrays.length; index++){
if(getNumber(arrays[index],sortTimes) == i){
list.add(arrays[index]);
}
if(arrays[index]/(int) Math.pow(10,index+1)!=0){
flag = true;
}
}
}
for(int i = 0; i<list.size();i++){
arrays[i] = list.get(i);
}
list.clear();
sortTimes++;
}
基数排序(java实现)的更多相关文章
- 基数排序 java 实现
		基数排序 java 实现 Wikipedia: Radix sort geeksforgeeks: Radix sort 数学之美番外篇:快排为什么那样快 Java排序算法总结(八):基数排序 排序八 ... 
- 基本排序算法——基数排序java实现
		基数排序 package basic.sort; import java.util.Arrays; import java.util.Random; public class RadixSort { ... 
- 基数排序---Java实现+C++实现
		基数排序是基于桶排序实现的,总之基本思想是:先基于个位进行桶排序,更新原序列:再基于十位进行桶排序,更新原序列-- code1:java import java.util.*; public clas ... 
- 排序基础之非比较的计数排序、桶排序、基数排序(Java实现)
		转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/6639353.html 比较和非比较排序 快速排序.归并排序.堆排序.冒泡排序等比较排序,每个数都必须和其他 ... 
- 基数排序——Java实现
		一.基数排序思想 相比其它排序,主要是利用比较和交换,而基数排序则是利用分配和收集两种基本操作.基数 排序是一种按记录关键字的各位值逐步进行排序的方法.此种排序一般适用于记录的关键字为整数类型的情况. ... 
- java各种排序实现
		排序是程序开发中一种非常常见的操作,对一组任意的数据元素(或记录)经过排序操作后,就可以把他们变成一组按关键字排序的有序队列. 对一个排序算法来说,一般从下面3个方面来衡量算法的优劣: 时间复杂度:它 ... 
- 各种排序算法及其java程序实现
		各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序 冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序 一.冒泡排序(BubbleSort)1. 基本思想 ... 
- 20172302 《Java软件结构与数据结构》第五周学习总结
		2018年学习总结博客总目录:第一周 第二周 第三周 第四周 第五周 教材学习内容总结 查找 查找即在某项目组中寻找某一指定目标元素,或确定该组中并不存在此元素.对其进行查找的项目组称为查找池. 1. ... 
- Java数据结构和算法(四)赫夫曼树
		Java数据结构和算法(四)赫夫曼树 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 赫夫曼树又称为最优二叉树,赫夫曼树的一个 ... 
- 排序算法及其java实现
		各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序 冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序 一.冒泡排序(BubbleSort) 1. 基本思 ... 
随机推荐
- Metasploitable渗透测试实战——Windows漏洞 MS08-067复现
			Ms08-067 攻防环境: 攻击机:kali ip:198.168.12.212 靶机:Window XP 未打过ms08-067补丁 ip:198.168.12.209 
- 【BZOJ2809】[APIO2012] dispatching(左偏树例题)
			点此看题面 大致题意: 有\(N\)名忍者,每名忍者有三个属性:上司\(B_i\),薪水\(C_i\)和领导力\(L_i\).你要选择一个忍者作为管理者,然后在所有被他管理的忍者中选择若干名忍者,使薪 ... 
- 【洛谷1486】[NOI2004] 郁闷的出纳员(Splay的小运用)
			点此看题面 大致题意: 你是一个公司的出纳员,现在有\(n\)个操作,操作有4种:新来一个员工.增加全体员工工资.减少全体员工工资.查询第\(k\)多的工资.若一个员工的工资在某一时刻低于合同上的工资 ... 
- Mybatis- 配置
			主配置文件 properties 第一种 <properties> <property name="jdbc.driver" value="com.my ... 
- python_45_目录编程
			#获取当前目录 import os print(os.getcwd()) #获取目录内容 import os print(os.listdir('C:\\Python27')) #创建目录 impor ... 
- IPv4与IPv6的校验函数
			1. PHP校验IPv4掩码是否合法,在网上搜了下,排名最高的如下, <?php function is_mask($mask){ $bin_mask =(string)decbin(ip2lo ... 
- 第31题:LeetCode946. Validate Stack Sequences验证栈的序列
			题目 给定 pushed 和 popped 两个序列,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true:否则,返回 false . 示例 1: 输入: ... 
- django+xadmin在线教育平台(四)
			3-2 配置表单页面 必要的该说的,该了解的 前置条件: 你已经学习了前面教程.将项目的文件夹目录结构,setting配置等修改完毕与我保持一致. 本节通过Django快速的配置一个留言板页面来学习 ... 
- 三十五、MySQL 运算符
			MySQL 运算符 本章节我们主要介绍 MySQL 的运算符及运算符的优先级. MySQL 主要有以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 算术运算符 MySQL 支持的算术运算 ... 
- day  59 MySQL之锁、事务、优化、OLAP、OLTP
			MySQL之锁.事务.优化.OLAP.OLTP 本节目录 一 锁的分类及特性 二 表级锁定(MyISAM举例) 三 行级锁定 四 查看死锁.解除锁 五 事务 六 慢日志.执行计划.sql优化 七 ... 
