一种想法是从小到大排,每次把一个loop 里的排好,然后排下一个位置 x 的时候, 要检查 x 的 loop 里有没有比 x 更小的位置, 如果有, x 应该已经排好了; 如果没有,就排 x 这个 loop. 这个算法的问题是不一定能在常数时间内检查 x 的 loop 里有没有比 x 更小的位置。 n 为比较特殊的数,比如 2m, 或者 2m -1, 的时候, 似乎这个检测相对简单.