【问题标题】:Checking indices with Radix Sort使用基数排序检查索引
【发布时间】:2012-11-02 06:57:49
【问题描述】:

我读过一个基数排序的实现,它适用于小于十的 int 数据类型,即它们由一个 sig-fig 代替。 (例如 1, 0, 3, 4, 9,... 只是为了清楚)。这个实现并不太难,但是大于 10 的数字呢?如何在第一遍仅比较一个位的数字,然后在第二遍的十位数字进行比较,依此类推,而无需将数组元素显式转换为字符串或字符类型。 (或者这只是必要的?)

【问题讨论】:

    标签: c++ recursion digits radix-sort


    【解决方案1】:

    你总是可以把第n个数字拉成v/(10**(n-1)) % 10。

    从一位数基数排序到多位通用排序器并非易事。根据您处理数字的顺序,您要么最终跟踪组边界,要么必须使用“稳定”变体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 2021-06-19
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多