关于两个数组关联排序,求助

关于两个数组关联排序,求助



[Copy to clipboard] [ - ]
CODE:
#下面两个元素相等的数组:
@a=(2,3,1,4);     #sort @a  等于  @a[2,0,1,3],
@b=(a,b,c,d);     #能否有简便方法得到 @b[2,0,1,3],

真没看明白...
难道是说 @b = sort @a; ???
偶没描述明白,研究了一个大侠的贴,已经找到答案了:

@a=(2,3,1,4);
@b=(a,b,c,d);

下面这种方法可以得到@b[2,0,1,3],
map{$_->[1]}sort{$a->[0] <=> $b->[0]}map{[@a[$_],@b[$_]]}(0..3);
我总算是明白了....


QUOTE:
map{$_->[1]}sort{$a->[0]  $b->[0]}map{[@a[$_],@b[$_]]}(0..3);

看不明白,高手,解析一下。谢谢
偶是从高手那学来的

map{[@a[$_],@b[$_]]}(0..3);  得到一个ref序列
sort{$a->[0]  $b->[0]}map{[@a[$_],@b[$_]]}(0..3);   对ref序列排序
map{$_->[1]}sort{$a->[0]  $b->[0]}map{[@a[$_],@b[$_]]}(0..3);   排完序后,把所要的结果取出来,不知明白了没