A = 3 1 2 n = 3: k = 3: B = 0 0 0 C = 0 0 0 for (i in 1:n) C[A[i]] <- C[A[i]] + 1 B = 0 0 0 C = 1 1 1 for (i in 2:k) C[i] <- C[i] + C[i - 1] B = 0 0 0 C = 1 2 3 for (i in 1:n) { i = 1: B = 0 0 0 C = 1 2 3 B[C[A[i]]] <- A[i] B = 0 0 3 C = 1 2 3 C[A[i]] <- C[A[i]] - 1 i = 2: B = 0 0 3 C = 1 2 2 B[C[A[i]]] <- A[i] B = 1 0 3 C = 1 2 2 C[A[i]] <- C[A[i]] - 1 i = 3: B = 1 0 3 C = 0 2 2 B[C[A[i]]] <- A[i] B = 1 2 3 C = 0 2 2 C[A[i]] <- C[A[i]] - 1 B = 1 2 3 C = 0 1 2 return(B) sort( 3 1 2 ) = 1 2 3