package com.interview.sort; public class CountingSort { private static int TOTAL = 10; public void sort(int arr[]) { int count[] = new int[TOTAL]; for (int i = 0; i < arr.length; i++) { count[arr[i]]++; } int c = 0; for (int i = 0; i < TOTAL; i++) { while (count[i] > 0) { arr[c++] = i; count[i]--; } } } public void sort1(int arr[]) { int count[] = new int[TOTAL]; int output[] = new int[arr.length]; for (int i = 0; i < arr.length; i++) { count[arr[i]]++; } for(int i=1; i < TOTAL; i++){ count[i] += count[i-1]; } for(int i=0; i <arr.length; i++){ output[count[arr[i]]-1] = arr[i]; count[arr[i]]--; } for(int i=0; i < arr.length; i++){ arr[i] = output[i]; } } public static void main(String args[]) { int arr[] = { 6, 1, 6, 7, 3, 1 }; CountingSort cs = new CountingSort(); cs.sort1(arr); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } }