【发布时间】:2012-01-21 20:13:58
【问题描述】:
我有一个如下所示的数组哈希:
{ $key, [$val1, $val2] }
我正在尝试按数组的第二个值进行数字排序并打印出整个散列。我看过 Schwartzian Transform 的帖子,但我还没有看到一个完全符合我要求的帖子。我也对语法以及如何将排序后的值映射回原始{$key, [$val1, $val2] } 表单感到非常困惑。任何帮助将不胜感激!
【问题讨论】:
-
1 比 4,确定吗? (不是这样更好!)
-
@davorg 5 个问题,1 个被接受。不知道 SO 是如何计算这个比率的,它确实看起来很奇怪。
-
施瓦茨变换处理计算值的排序。您想为每个元素计算它们 once 而不是 2 * nlogn 次。您已经有了要在计算出的
$hash->{ $key }[1]上排序的值。您不需要 Schwartzian 变换。 -
@TLP 在计算中使用新问题之前有一定的延迟。
-
在您全面了解Perl 之前,请勿尝试使用Schwartzian Transform。