利用sort确定次序

ZDNet软件频道 时间:2004-02-09 作者:ZDNet China |  我要评论()
本文关键词:perl
在Perl中,sort提供了一条简单的方法命令一系列的数值。比如:Sort可以被用做以字母为关键字的哈希函数或者通过价钱的数组来排列项目。
本文译自Builder.com,未经许可请勿转载

perl中,sort提供了一条简单的方法命令一系列的数值。比如:Sort可以被用做以字母为关键字的哈希函数或者通过价钱的数组来排列项目。

Sort最低限度的接受被分类的列表。它通过使用默认的字符比较操作符来给列表分类。如果你想你希望表格按照其他的方式来分类,你可以通过代码或者在列表之前的子程序名字。Sort将调用这个代码同时比较这个列表中的两个元素。

比如,在数字上分类一个数组,使用下面的命令:

@array = sort {$a <=> $b} @array;

为了倒序分配,你可以使用倒序函数或者倒序比较顺序。下面的两行是等价的:

reverse sort @array;
sort {$b cmp $a} @array;

一个普通的分类方法是当打印的时候给哈希关键字排序。比如,如果雇员信息包含

电话号码,你可以打印一个电话本,这个电话本由名字和号码分类:

   print "Sorted by name ";
for (sort keys %employee)
{
       printf "%-32.32s $employee ", $_ . ' ' . '.' x 32;
}
print " Sorted by number ";
for (sort cmp $employee} keys %employee)
{
       printf "%-32.32s $employee ", $_ . ' ' . '.' x 32;
}

Sort快速简单的按顺序获得你的列表,并且它提供了灵活性来分类,可以按照你需要的方式按任何方式分类。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134