Counting sort
unknown
java
3 years ago
779 B
11
Indexable
class Main
{
public static void main (String[] args)
{
int arr[] = { 1,4,4,1,0,1 };
int n = arr.length; int k=5;
countSort(arr, n, k);
for (int i = 0; i < n; i++)
System.out.print( arr[i] + " ");
}
static void countSort(int arr[], int n, int k)
{
int[] count=new int[k];
for(int i=0;i<k;i++)
count[i]=0;
for(int i=0;i<n;i++)
count[arr[i]]++;
for(int i=1;i<k;i++)
count[i]=count[i-1]+count[i];
int[] output=new int[n];
for(int i=n-1;i>=0;i--){
output[count[arr[i]]-1]=arr[i];
count[arr[i]]--;
}
for(int i=0;i<n;i++)
arr[i]=output[i];
}
}
Editor is loading...