Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.29 KB | None | 0 0
  1. // CountSort O(n + k)
  2. func CountSort(A []int, k int) {
  3. c := make([]int, k+1)
  4. for _, a := range A {
  5. c[a]++
  6. }
  7. for i := 1; i < k+1; i++ {
  8. c[i] += c[i-1]
  9. }
  10. b := make([]int, len(A))
  11. for j := len(A) - 1; j >= 0; j-- {
  12. c[A[j]]--
  13. b[c[A[j]]] = A[j]
  14. }
  15. for i := range A {
  16. A[i] = b[i]
  17. }
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement