@Override
    public void sortArray() {

        this.arrayAccess = 0;
        this.comparisions = 0;

        T[] auxArray = array.clone();

        for (int d = width - 1; d >= 0; d--) {

            count = new int[radix + 1];

            for (T item : array) {
                count[keyMap.get(item) + 1]++;
            }

            for (int i = 0; i < radix; i++) {
                count[i + 1] += count[i];
            }

            for (T item : array) {
                auxArray[count[keyMap.get(item)]++] = item;
            }

            array = auxArray;
        }

    }