Perl實(shí)現(xiàn)高水線算法(解決多值比較問(wèn)題方法)
"高水線"算法:大水過(guò)后,最后一波浪消退時(shí),高水線會(huì)標(biāo)示出所見(jiàn)過(guò)的最高水位。
下面看下"高水線"算法在Perl中的運(yùn)用。
#! /usr/bin/perl; use utf8; sub max { my($max_so_far) = shift @_; #數(shù)組中第一個(gè)值,暫時(shí)當(dāng)成最大值。 foreach(@_){#遍歷數(shù)組@_ if($_>$max_so_far){ #看其它元素是否有比$max_so_far大的值。 $max_so_far = $_;} #如果有話,更新最大值變量 } $max_so_far; } my $_MaxData = &max(2,3,8,5,10); print $_MaxData;
第一行對(duì)數(shù)組@_進(jìn)行shift操作,將一個(gè)元素2放到最大值$max_so_far變量中,@_中剩下的元素為(3,8,5,10),然后用foreach循環(huán)遍歷數(shù)組,新數(shù)組中的第一個(gè)元素3比2大,又被移到$max_so_far變量中,依次類推,最后10,就是數(shù)組中的最大元素。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。