加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

看见一道排序题,练练手。

发布时间:2020-12-15 21:05:17 所属栏目:大数据 来源:网络整理
导读:(编程题) 100 万个数据,数据值在 0~65535 之间,请用尽可能少的内存和最快的速度从小到大排序( 10 分) ? #!perl -w use strict; my @ArrayData = (1,2,5,6,3,55,555,33,22,78,545,23,234,7,90,34,775,65); Sort(@ArrayData); my @TempArray; sub Sort()

(编程题)100万个数据,数据值在0~65535之间,请用尽可能少的内存和最快的速度从小到大排序(10分)

?

#!perl -w
use strict;
my @ArrayData = (1,2,5,6,3,55,555,33,22,78,545,23,234,7,90,34,775,65);
&Sort(@ArrayData);

my @TempArray; sub Sort() { ?my (@Array) = @_; ?foreach my $no? (@Array) ?{ ??print "$non"; ??if (defined ($TempArray[$no])) ??{ ???$TempArray[$no]++; ??} ??else ??{ ???$TempArray[$no]=1; ??} ?} } my $Number = $#TempArray; #print "$Number:? @TempArray n"; my $NumberIndex = 0; for(;$NumberIndex<$Number;$NumberIndex++) { ??if (defined ($TempArray[$NumberIndex])) ??{ ???print "$NumberIndex," x $TempArray[$NumberIndex]; ??} } if (defined ($TempArray[$NumberIndex]) && $TempArray[$NumberIndex]>1) { ?print "$NumberIndex," x ($TempArray[$NumberIndex]-1); } if (defined ($TempArray[$NumberIndex])) { ?print "$NumberIndex n"; }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读