首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

请帮忙看下radix排序的代码解决思路

2012-03-18 
请帮忙看下radix排序的代码Perl code##代码: ##Radix排序是将一组数据看成相同长度,然后从在后得字符比校

请帮忙看下radix排序的代码

Perl code
##代码: ##Radix排序是将一组数据看成相同长度,然后从在后得字符比校开始。这里用了ord这个命令。思想明白了, ##里面的几个语句看不明白。大家看看吧。谢谢了 sub radix_sort { my $array = shift; my $from = $array; my $to; # All lengths expected equal. for ( my $i = length $array->[ 0 ] - 1; $i >= 0; $i-- ) { # A new sorting bin. $to = [ ] ; foreach my $card ( @$from ) { # Stability is essential, so we use push(). push @{ $to->[ ord( substr $card, $i ) ] }, $card; #####这一句看不懂, ord明白是返回表达 #式或语句块得第一个数字,但是整个push是什么意思? } # Concatenate the bins. $from = [ map { @{ $_ || [ ] } } @$to ]; #####这一句看不懂,这里map明白是类似grep的语句,#但是不明白整个$from右边的[]和整个句子得意思。 } # Now copy the elements back into the original array. @$array = @$from;


[解决办法]
代码解析有错误。函数定义没有右括号啊!

热点排行