package zsy.com;
public class CountSortMethod {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a = {4,1,3,2,16,9,10,14,8,7};
int[] b = COUNTING_SORT(a);
for(int i:b){
System.out.print(i+" ");
}
}
public static int[] COUNTING_SORT(int[] a){
int[] b = new int[a.length];
int max = a[0];
int min = a[0];
for(int i=0;i<a.length;i++){
if(max <= a[i]) max = a[i];
if(min >= a[i]) min = a[i];
}
int k = max - min + 1;
int[] c = new int[k];
for(int i=0;i<a.length;i++){
c[a[i]-min] += 1;
}
for(int i=1;i<c.length;i++){
c[i] = c[i] + c[i-1];
}
for(int i=a.length-1;i>=0;i--){
b[--c[a[i]-min]] = a[i];
}
return b;
}
}
08-20
08-20
08-20