package Sorting; import java.util.Arrays; public class NumberCountingSorter extends Sorter{ public NumberCountingSorter(RandomNumberFileReader reader){ super("counting sort", reader); } void sort(){ if(numbers.length!=0){ int min = numbers[0]; int max = numbers[0]; for(int e: numbers){ if(compare(e,min)<0){ min=e; } if(compare(e,max)>0){ max=e; } } Integer[] countArray = new Integer[max-min+1]; Arrays.fill(countArray, Integer.valueOf(0)); for(int e: numbers){ writeToArray(countArray, e-min, countArray[e-min]+1); } int index=0; for(int i=0;i