基数排序
2015-08-08 01:08
218 查看
import java.math.* ; import java.util.* ; /** * */ public class Test extends Base{ public static void main(String[] args) throws Exception{ int[] arr = getRandomArr() ; println(arr); radixSort(arr , arr.length ); println(arr); println(); } public static void radixSort(int[] arr, int n ){ int BASE = 10 ; int exp = 1 ; int[] radix = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} ; int[] temp = new int ; int max = arr[0] , r = 1; for (int i = 1 ; i < n; i++){ if(arr[i] > max) max = arr[i] ; } int pos , div = 1; while(max/exp > 0){ for (int i = 0 ; i < n ; i++){ radix[(arr[i] / exp) % BASE] += 1; } for (int i = 1 ; i < n ; i++){ radix[i] += radix[i-1] ; } for (int i = n - 1 ; i >= 0 ; i--){ radix[(arr[i] / exp) % BASE] -= 1; temp[radix[(arr[i] / exp) % BASE]] = arr[i] ; } for (int i = 0 ; i < n ; i++ ){ arr[i] = temp[i] ; } for (int i = 0 ; i < BASE ; i++){ radix[i] = 0 ; } exp *= BASE ; } } }
相关文章推荐
- GestureDetector类及其用法
- jQuery选择器(一)
- CentOS7将普通用户添加到sudoers管理员组
- c++动态内存分配与释放
- ContentProvider的简单虚拟短信
- copy_from_user/copy_to_user函数中的buf参数释疑
- _DataStructure_C_Impl:Array
- java之 ------ 多线程(从基础到加强)
- 用PowerDesigner将SQL语句生成实体类
- I - Tunnel Warfare - hdu 1540
- iOS之学习CoreData的笔记
- uva 1670 Kingdom Roadmap(图论构造题)
- c++内存中字节对齐问题详解
- LeetCode 17 Letter Combinations of a Phone Number 递归与DFS的使用
- Codeforces Round #Pi (Div. 2) E
- Linux-C网络编程之epoll函数
- phar文件的使用
- Java基础-Collection之Set的实现
- Swift学习笔记(二十三)——Swift泛型初识
- 为apache单独编译mod_rewrite.so