清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/usr/bin/perl
use strict;
use warnings;
use feature qw(say);
print "输入需要查找的元素:";
my $obj = <>; #监视哨,同时为需查找的元素
chomp $obj; #截掉输入元素后的回车符
my @a = qw/ 88 5 21 92 37 56 13 75 19 64 /;
print '原数组:';
foreach(@a) { #打印原数组
print $_, " ";
}
say "\n监视哨:$obj";
print "加入监视哨的新数组:";
unshift (@a, $obj); #在数组开头增加一个元素
foreach(@a) { #打印新数组
print $_, " ";
}
my $result = &sentry($obj, @a); #调用子程序sentry
if($result == -1) { #根据返回值输出查找结果
say "\n原数组中不存在元素$obj";
}
else {
say "\n原数组中存在元素$obj(位于原数组第$result位)";
}
sub sentry { #子程序,用于判断元素是否存在
my($what, @b) = @_;
foreach (1..$#b) { #从数组第二位开始到最后一位的下标(第一位是监视哨,故排除)
if($what == $b[$_]){
return $_;
}
}
-1;
}