Skip to content

Commit c692dc3

Browse files
Count Sort
1 parent 049a5b1 commit c692dc3

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

Sorting/CountSort.java

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import java.util.*;
2+
3+
class CountSort {
4+
5+
public static void countSort(int[] array) {
6+
if(array == null || array.length <= 1) {
7+
return;
8+
}
9+
10+
int max = array[0];
11+
for(int num : array) {
12+
if(num > max) {
13+
max = num;
14+
}
15+
}
16+
17+
int[] countArray = new int[max + 1];
18+
19+
for(int num : array) {
20+
countArray[num]++;
21+
}
22+
23+
int index = 0;
24+
for(int i=0; i<= max; i++) {
25+
while(countArray[i] > 0) {
26+
array[index] = i;
27+
index++;
28+
countArray[i]--;
29+
}
30+
}
31+
}
32+
33+
34+
public static void main(String[] args) {
35+
int[] arr = {6, 3, 10, 9, 2, 4, 9, 7};
36+
countSort(arr);
37+
System.out.println(Arrays.toString(arr));
38+
}
39+
}

0 commit comments

Comments
 (0)