public static void countsort(int array[], int MaxValue) { int i, j, k; int C[] = new int[MaxValue+1]; int B[] = new int[array.length]; for (i=0; i<=MaxValue; i++) C[i] = 0; for (i=0; i<array.length; i++) C[array[i]]++; for (i=1; i<MaxValue; i++) C[i] = C[i] + C[i-1]; for (i=array.length-1; i>=0; i--) B[--C[array[i]]] = array[i]; for (i=0; i<array.length;i++) array[i] = B[i]; }