SOURCE

var arr=[11,9,20,56,42,3,7,15,16];
		var counter=[];
		function maxDig(arr,length){
		    var max=arr[0];
		    for(var i=1;i<arr.length;i++){
		        if(max<arr[i])
		        max=arr[i];
		    }
		    var d=1,p=10;
		    while(max>=p){
		        max/=p;
		        d++;
		    }
		    return d;
		}
		
		function radixSort(arr,maxDigit){
		    var mod=10,dev=1;
		    for(var i=0;i<maxDigit;i++,mod*=10,dev*=10){
		        for(var j=0;j<arr.length;j++){
		            var bucket=parseInt((arr[j]%mod)/dev);
		            if(counter[bucket]==null){
		                counter[bucket]=[];
		            }
		            counter[bucket].push(arr[j]);
		        }
		        var pos=0;
		        for(var j=0;j<counter.length;j++){
		            var value=null;
		            if(counter[j]!=null){
		                while((value=counter[j].shift())!=null)
		                arr[pos++]=value;
		            }
		        }
		    }
            console.log('min='+arr[0]+',max='+arr[arr.length-1])
		    return arr;
		}
		var maxDigit=maxDig(arr,arr.length);
		radixSort(arr,maxDigit);
console 命令行工具 X clear

                    
>
console