Skip to content

Commit 9bc05a9

Browse files
author
Techie Sky
committed
Add algorithm in README.md
1 parent 64597fc commit 9bc05a9

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,35 @@ Inspired by [30 seconds of code](https://github.com/Chalarangelo/30-seconds-of-c
168168
}
169169
```
170170

171+
### CountingSort
172+
```java
173+
public static void countingSort(int[] arr) {
174+
var max = Arrays.stream(arr).max().getAsInt();
175+
176+
var count = new int[max + 1];
177+
178+
for (var num : arr) {
179+
count[num]++;
180+
}
181+
182+
for (var i = 1; i <= max; i++) {
183+
count[i] += count[i - 1];
184+
}
185+
186+
var sorted = new int[arr.length];
187+
for (var i = arr.length - 1; i >= 0; i--) {
188+
var cur = arr[i];
189+
sorted[count[cur] - 1] = cur;
190+
count[cur]--;
191+
}
192+
193+
var index = 0;
194+
for (var num : sorted) {
195+
arr[index++] = num;
196+
}
197+
}
198+
```
199+
171200
## Array
172201

173202
### Generic two array concatenation

0 commit comments

Comments
 (0)