计数排序对整个数组进行了两次遍历。第一次处理输入数列中的所有n个元素。在第二次遍历时,内部的while循环将会执行B[i]次,对于每一个0≤i<k;因此表达式ar[idx++]恰好执行n次。这个是实现中的关键表达式执行了2*n次,结果总的性能是O(n)的。 因为待排序的数组中的元素必须是从有限的k个元素中得到,计数排序的使用受到了限制。我们现在讨论桶排序,这个排序方法克服了这个限制,每个元素都能够映射到一个桶中。