【发布时间】:2011-07-18 22:23:39
【问题描述】:
我有一组未绑定的值存储在一个数组中(如果有帮助,它是一个NSArray)。值的范围从 0 到无穷大(实际上最大值约为 100,000,000)。
我需要将数组中的值排序为 0 到 20。
例如,如果我有一组1000, 3123, 31,31 将是 0,1000 将是 10 和 3123 将是 20。数组的成员数量和最大值各不相同,所以我知道如果有很多不同范围的值,其中很多值会在比例尺上占据相同的位置。 大多数情况下,项目数将超过 20 个(平均项目数约为 100 个)。
当项目数超过 20 时,部分项目应该具有相同的评分。
我需要它来直观地表示每个搜索查询的歌曲流行度,其中这些值是歌曲在全局图表上的位置的全局表示。
有可能创建这样的算法吗?
【问题讨论】:
-
您的范围是 1-20(如您所说)还是 0-20(如您的示例所建议)?
-
在这种情况下我会使用固定的对数刻度。