擅长:python、mysql、java
<p>有许多不同的通用排序算法可以使用。但是,在这种情况下,最重要的考虑是所有要排序的元素都属于集合(0,1)。在</p>
<p>正如其他贡献者所回答的,有一个微不足道的实现。在</p>
<pre><code>def radix_sort(a):
slist = [[],[]]
for elem in a:
slist[elem].append(elem)
return slist[0] + slist[1]
print radix_sort([0,0,1,0,1,1,0])
</code></pre>
<p>必须注意,这是<a href="http://en.wikipedia.org/wiki/Radix_sort" rel="nofollow">Radix sort</a>的一个特定实现。如果要排序的列表元素属于一个已定义的有限集,则可以很容易地扩展这一点。在</p>
^{pr2}$
<p>没有<code>sort()</code>或<code>sorted()</code>或<code>count()</code>函数。O(n)</p>