Skip to content

Commit 6d1c35a

Browse files
committed
Update counting sort example
1 parent 6b511aa commit 6d1c35a

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/main/java/com/artemnikitin/algo/sort/CountingSort.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,25 @@ public class CountingSort {
1010

1111
public static void main(String[] args) {
1212
System.out.println(Arrays.toString(data));
13-
countingSort(data, -3, 35);
13+
countingSort(data);
1414
System.out.println(Arrays.toString(data));
1515
}
1616

17-
public static void countingSort(int[] data, int min, int max) {
18-
// create and fill temp array
17+
public static void countingSort(int[] data) {
18+
int min = data[0];
19+
int max = data[0];
20+
for (int i = 0; i < data.length; i++) {
21+
if (data[i] < min) min = data[i];
22+
if (data[i] > max) max = data[i];
23+
}
24+
1925
int[] temp = new int[max - min + 1];
2026
for (int i = 0; i < data.length; i++) {
2127
temp[data[i] - min]++;
2228
}
29+
2330
int index = 0;
24-
// in for loop process temp array
2531
for (int i = min; i <= max; i++) {
26-
// if element > 0, then process it
2732
while (temp[i - min] > 0) {
2833
data[index] = i;
2934
index++;

0 commit comments

Comments
 (0)