키와 몸무게 데이터가 있다고 할때 키로 sort 해보자.
use strict;
use warnings;
my @a = (
[168, 62],
[170, 54],
[168, 60],
[180, 100],
);
my @b = sort byHeight(@a);
printDS(\@b);
sub byHeight
{
return ($a->[1] <=> $b->[1]);
}
sub printDS
{
my $ds = shift;
use Data::Dumper;
print Dumper @$ds;
print "\n";
}
위의 byHeight() 는 다음과 같이 한 것과 동일하다.
sub byHeight
{
if($a->[0] > $b->[0]){
return 1;
}elsif($a->[0] < $b->[0]){
return -1;
}else{
return 0;
}
}
키가 같은 경우 몸무게로 sort 하게 하려면 다음과 같이 하면 된다.
sub byHeight
{
if($a->[0] > $b->[0]){
return 1;
}elsif($a->[0] < $b->[0]){
return -1;
}else{
return ($a->[1] <=> $b->[1]);
}
}
키워드 : weight
No comments:
Post a Comment