首页 文章

用 Radix Sort 检查索引

提问于
浏览
1

我已经阅读了基数排序的实现,该实现适用于小于十个 i.e 的 int 数据类型。它们由一个 sig-fig 组成。 (e.g. 1,0,3,4,9,...只是为了清楚)。这个实现不是太困难,但是大于 10 的数字呢?在第一次通过时,如何只比较一个位的数字,然后在第二次通过时如何比较一个十位的数字,依此类推,而无需将数组的元素显式转换为字符串或 char 类型。 (或者这仅仅是必要吗?)

1 回答

  • 1

    您始终可以将第 n 个数字拉为 v/(10 **(n-1))%10。

    从一位数基数排序到 multi-digit 通用排序器并非易事。根据处理顺序的不同,最终跟踪组边界还是必须使用“稳定”变体。

相关问题