易截截图软件、单文件、免安装、纯绿色、仅160KB

基数排序 java 算法

package sort;
public class RadixSort {
 // 求x 数第d位上的数字,例如12345,十位数字是4  12345/10%10=4
 // d=0 表示个位 ;d=1 表示十位...依次类推
 public static int digit(int d,int x){
  return x/(int)Math.pow(10, d)%10;
 }
 
 public static void radixSort(int a[],int d){// d 表示位:个位,十位,百位....
  // 定义10个桶0~9,每个桶存放 位的个数,例如:98,100,23,18
  // 个位8,0,,3,8 分别存放在8,0,3,8桶的计数器,其中8号桶=2
  
  int count[]=new int[10];// 定义十个计数器变量
  for(int i:a){           // 取数组中每一位
   count[digit(d,i)]++;
   System.out.println(i+":"+d+"位上的数字是--->"+digit(d,i));
  }
  int i=0;
  for(int c:count){   
   System.out.println(i+"号桶计数数"+c);
   i++;
  }
  
  // 求位置
  System.out.println("0号桶"+d+"位个数是"+count[0]+",位占数组位置0-"+count[0]);
  for(int j=1;j<10;j++){   
   count[j]+=count[j-1];
   System.out.println(j+"号桶"+d+"位个数"+(count[j]-count[j-1])+",占数组位置"+count[j]);
  }
  
  
     // 复制数组,
  
  int [] temp=new int[a.length];
  // temp[0]中的0 排 d位最小的digit(d,x)
  for(int j=a.length-1;j>=0;j--){
   
   // 注意:j=a.length-1; 还有count[9]=16 数组的长度,要减一
   temp[    --count[digit(d,a[j])]   ]  =a[j];
  }
  
  // 一次排序后结果,并复制还原
  for(int j=0;j<a.length;j++){
   System.out.print(temp[j]+"-->");
   a[j]=temp[j];
  }
 }
 
 public


相关文档:

java入门

 Java学习从入门到精通 
一、 JDK (Java Development Kit) 
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......

Java Reflection (JAVA反射)

 Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。
Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pasc ......

java心得!

 java心得!--很好的java学习历程(转自张国宝) 收藏 此文于2009-10-26被推荐到CSDN首页
如何被推荐?
1.    数组有没有length()这个方法? String有没有length()这个方法?
        答:数组没有length()这个方法,有length的属性。
     ......

Java中路由器模式

 import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.IOException;
import java.io.Serializable;
import java.rmi.Na ......

java JNI 尝试

   首先引用一篇文章,介绍一个简单的JNI的调用的过程。  JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对本地操作的一种方法就是JNI。  JAVA通过JNI调用本地方法,而本地方法是以库文件的形式存放的(在WINDOWS平台上是DL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号