
sort_array(3)         LPC 系统函数         sort_array(3)

名称
     sort_array() - 根据某函数所指定的规则排列阵列

语法
     mixed *sort_array( mixed *arr, string fun, object ob );
     mixed *sort_array( mixed *arr, function f );
     mixed *sort_array( mixed *arr, int direction );

描述
     第一种型式传回 <arr> 经快速排序之后的相同的元素的阵列, 其
     比大小的方式由 <fun> 的传回值决定. 其中 <fun> 是定义在 <ob> 中.
     如果没给定 ob, 则 <fun> 必须定义在同一物件中. <fun> 必须比较两
     个参数的大小, 传回 1 表示大于, 传回 0 表示等于, 传回 -1 表示小于.

     第三种型式的比对是用系统内定的, <direction> 的值是 1 或 0 
     则传回递增排序后的结果, <direction> 的值是 -1 则递减排序.
     用此种内定的方式当然有些限制, 例如: 阵列元素的型态只能是
     简单的型态, 如 int, float, string. 而且阵列的元素不能是阵列,
     如果阵列的元素是阵列, 则会以元素阵列的第一个元素当排序的参考
     元素, 而不是以整个阵列当排序时的参考元素.

范例
     /std/guild.c, /adm/daemons/event.c, /adm/daemons/finger.c
     /adm/daemons/profile.c, /adm/daemons/topuserd.c,
     /cmds/adm/_aproposm.c, /cmds/file/_ls.c, /cmds/object/_data.c
     /cmds/object/_fref.c, /cmds/std/_alias.c, cmds/std/_mudlist.c
     /cmds/std/_score.c, /cmds/std/_semote.c, /cmds/std/_set.c
     /cmds/std/_skills.c, /cmds/std/_who.c, /cmds/wiz/_apropos.c
     /cmds/wiz/_people.c, /cmds/wiz/_stat.c

请参考
     filter_array(3), map_array(3), strcmp(3)

MudOS                Last change: 5 Sep 1994                    1

