顺序查找

清华大佬耗费三个月吐血整理的几百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;
}