File tree Expand file tree Collapse file tree 1 file changed +10
-5
lines changed
src/main/java/com/artemnikitin/algo/sort Expand file tree Collapse file tree 1 file changed +10
-5
lines changed Original file line number Diff line number Diff 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 ++;
You can’t perform that action at this time.
0 commit comments