Perl 哈希的排序-- key 按照 int 作为数字排序

这里写目录标题

  • 参考方案
  • 存在问题:
  • 解决方案
  • 参考

参考方案

两种排序都是将哈希的key进行排序,前一种是按照key的大小来对key进行排序,后一种是按照value的大小对key进行排序。(两种都是对 KEY 进行排序)

存在问题:

问题在于,如果key 是 int,排序时仍是按照字符串排序的。

Perl 哈希的排序-- key 按照 int 作为数字排序_第1张图片
结果:
Perl 哈希的排序-- key 按照 int 作为数字排序_第2张图片

解决方案

只能先对key进行排序,再处理 %hash

    my @sort_key= sort {$a <=> $b} keys %hash;
    foreach my $key(@sort_key) {
        my $value= $insert_key->{$key};
        # 其他的if 判断操作
        if ($value>= $median_num) {
        	return $value
        }
    }

参考

链接: hash传参
https://blog.csdn.net/bruce_wang_janet/article/details/18925763
https://blog.csdn.net/llxxyy507/article/details/101306180

你可能感兴趣的:(perl,perl)