perl高水线算法
案例;有5个数3 5 10 4 6 求出一个最大值;代码如下:
#!/usr/bin/perl
$maximum=&max(3,5,10,4,6);
sub max {
my ($max_so_far) = shift @_;
foreach (@_) {
if ($_ > $max_so_far) {
$max_so_far = $_;
}
}
$max_so_far;
}
print "$maximum\n";
执行后
# ./d.pl
10
上面的程序代码使用了一般称为“高水线(high-watermark)”的算法;大水过后,在最后一浪消退时,高水线会标示出所见过的最高水位。本例中,$max_so_far记录了高水线,所以最后$max_so_far变量中的值就是我们要找的最大值。
页:
[1]