来看看 发表于 2018-8-31 07:04:50

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]
查看完整版本: perl高水线算法