<p><span style="font-size: medium;">我们假定输入是个数组A[0...n],length[A]=n,另外,我们还需要两个数组:存放结果的B[1..n],以及提供临时存储的C[0...k].</span></p>
<p><span style="font-size: medium;">COUNT_SORT(A,B,k)</span></p>
<p><span style="font-size: medium;">1. for i=0 to k</span></p>
<p><span style="font-size: medium;">2. do C[i]=0</span></p>
<p><span style="font-size: medium;">3.for j=1 to length[A]</span></p>
<p><span style="font-size: medium;">4, doC[A[ j ]]=C[A[ j ]] + 1</span></p>
<p><span style="font-size: medium;">5, for i =1to k</span></p>
<p><span style="font-size: medium;">6,do C[i]=C[i] + C[i-1]</span></p>
<p><span style="font-size: medium;">7, for j = length[A] downto 1</span></p>
<p><span style="font-size: medium;">8, do B[C[A[ j ]]] =A[j]</span></p>
<p><span style="font-size: medium;">9, C[A[ j ]] = C[A[ j ]] -1</span></p>
<p><span style="font-size: medium;">COUNT_SORT(A,B,k)</span></p>
<p><span style="font-size: medium;">1. for i=0 to k</span></p>
<p><span style="font-size: medium;">2. do C[i]=0</span></p>
<p><span style="font-size: medium;">3.for j=1 to length[A]</span></p>
<p><span style="font-size: medium;">4, doC[A[ j ]]=C[A[ j ]] + 1</span></p>
<p><span style="font-size: medium;">5, for i =1to k</span></p>
<p><span style="font-size: medium;">6,do C[i]=C[i] + C[i-1]</span></p>
<p><span style="font-size: medium;">7, for j = length[A] downto 1</span></p>
<p><span style="font-size: medium;">8, do B[C[A[ j ]]] =A[j]</span></p>
<p><span style="font-size: medium;">9, C[A[ j ]] = C[A[ j ]] -1</span></p>