Perl语言中的splice()函数的用法及其用于对数组的随机扰动

2011-06-17 10:11 · friendpine

splice函数有四种用法: 1 在数组中用其他元素代替数组部分元素,用法为splice(@list,offset,length,@new),即把@new中的元素替换数组@list中从offset位置开始且长度为length的元素。 2 从数组中删除元素,用法为spl

splice函数有四种用法:

1 在数组中用其他元素代替数组部分元素,用法为splice(@list,offset,length,@new),即把@new中的元素替换数组@list中从offset位置开始且长度为length的元素。

2 从数组中删除元素,用法为splice(@list,offset,length),即把数组@list中从offset开始长度为length的元素去掉。

3 清空数组,用法为splice(@list)。此外,undef(@list)也可以清空数组。

应用此函数,可以对数组进行随机扰动:

sub sample{

my @list=@_;

my @new;

while(scalar @list >0){

my $rand=int(rand(scalar @list));

push(@new,$list[$rand]);

splice(@list,$rand,1);

}

return @new;

}

关键词: