From 295ff41346f7a32098ddb08769518c3e7cbb756c Mon Sep 17 00:00:00 2001 From: Youssef Ali Date: Fri, 13 Oct 2017 22:15:31 +0200 Subject: [PATCH] Create CountingSortIntegers.java --- Sorts/CountingSortIntegers.java | 66 +++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Sorts/CountingSortIntegers.java diff --git a/Sorts/CountingSortIntegers.java b/Sorts/CountingSortIntegers.java new file mode 100644 index 00000000..b6bb1fde --- /dev/null +++ b/Sorts/CountingSortIntegers.java @@ -0,0 +1,66 @@ +/** + * + * @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 sorted only integer arrays especially positive integers + * It uses array elements as indexes in the frequency array + * 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