Str*_*y-- 0 sorting floating-point list nan
如果我有一个浮点数列表,其中包含:Infinity、-Infinity、其他随机十进制数和一个 NaN。列表排序后 NaN 应该在哪里?如果有帮助的话我正在使用冒泡排序
为了排序,您需要一致的顺序,这意味着,例如,为 NaN 制定排序规则。
幸运的是,这项工作已经用 Java 完成了。java.lang.Double是Comparable,并且它compareTo使用扩展规则,包括“此方法认为 Double.NaN 等于其自身并大于所有其他双精度值(包括 Double.POSITIVE_INFINITY)”。
它还有一个比较方法,使用这些扩展规则而不是<=等规则来比较两个双精度原语。
如果您使用 Java 编程,则可以直接在排序中使用它。如果您使用的float是而不是double,请参阅 中的相应方法java.lang.Float。如果您使用其他语言进行编程,您仍然可以从 Java 中读取和复制规则,并在比较函数中使用它们。
如果您在排序中使用它,NaN那么在所有有限值和正无穷大之后,您应该期望位于排序列表的最后。
| 归档时间: |
|
| 查看次数: |
1944 次 |
| 最近记录: |