手记

基数排序

import java.util.Arrays;

/**
 * 基数排序
 * @author 123
 *
 */
public class Sort9 {
	public static void sort(int[] A){
		int[] B = new int[A.length];
		int max = A[0];
		//最大值
		for(int i=1;i<A.length;i++){
			if(A[i]>max){
				max = A[i];
			}
		}
		//把A[]中所有数据放到B[]
		for(int i=0;i<B.length;i++){
			B[i]=A[i];
		}
		//当最大数大于0
		while(max>0){
			//对B中数据取余,比较低位
			for(int i=1;i<B.length;i++){
				for(int j=i;j>0;j--){
					if(B[j]%10<B[j-1]%10){
						Swap.swap(B,j,j-1);
						Swap.swap(A,j,j-1);
					}
				}
			}
			//对B中所有数据/10
			for(int i=0;i<B.length;i++){
				B[i]=B[i]/10;
			}
			max=max/10;
			System.out.println("Stage:"+Arrays.toString(A));
		}
	}
}

0人推荐
随时随地看视频
慕课网APP