找回密码
 注册
查看: 2319|回复: 0

perl中的sort 操作

[复制链接]
发表于 2011-11-13 10:20:37 | 显示全部楼层 |阅读模式
sort 操作将输入的一串列表(可能是数组)根据内部的字符顺序进行排序。如对于ASCII 字符串,将根据ASCII 序进行排
序。当然,ASCII 中有一些奇怪的地方,如大写字母在小写字符的前面,数字在字符的前面,而标点符号散布在各处。但
按ASCII 排序只是其默认的行为,
@rocks = qw/ bedrock slate rubble granite /;
@sorted = sort(@rocks); #得到bedrock, granite, rubble, slate
@back = reverse sort @rocks; #为slate 到bedrock
@rocks = sort @rocks; #将排序的值写回@rocks
@numbers = sort 97 ..102; #得到100,101,102,97,98,99
从最后一个例子可以看到,如果将数字按照字符串进行排序可能得到没有意义的结果。当然,默认的排序规则下,任何由
1 开头的字符串先于由9 开头的字符串。和reverse 一样,其参数是不会受到影响的。如果想将某个数组排序,那必须将排
序之后的结果存回数组中:
sort @rocks; #错误,不会修改@rocks
@rocks = sort @rocks; #现在@rocks 值是经过排序的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-21 19:03 , Processed in 0.046043 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表