/** * * @author Youssef Ali (https://github.com/youssefAli11997) * */ class CountingSortIntegers { /** * This method implements the Counting Sort for integers * * @param array The array to be sorted * @param last The count of total number of elements in array * Sorts the array in increasing order * It sorts only integer arrays especially positive integers * It uses array elements as indexes in the frequency array * It can accept only array elements within the range [0:10^8] **/ public static void CSI(int array[], int last) { // The frequency array. It's initialized with zeros int[] frequency = new int[100000001]; // The final output array int[] sortedArray = new int[array.length]; int index = 0; // Counting the frequency of @param array elements for(int i=0; i 1 4 6 9 12 23 54 78 231 System.out.println("After Sorting:"); for (int i=0;i