【发布时间】:2012-10-16 22:22:42
【问题描述】:
如果我有一个包含 0 和 1 的二进制值列表,如下面的 000111010110 我想将其排序为以下 000000111111 如果您也知道列表大小,那么最有效的方法是什么?现在我想有一个计数器,当我从头到尾遍历列表时,我只计算 0 的数量。然后,如果我将 listSize 除以 numberOfZeros,我得到 numberOfOnes。然后我在想,不是从零开始重新排序列表,而是创建一个新列表。你同意这是最有效的方法吗?
【问题讨论】:
-
如果您正在使用计算机字中的位,请参阅graphics.stanford.edu/~seander/bithacks.html 的计数位设置部分。
标签: algorithm list sorting binary