Perl實(shí)現(xiàn)高水線算法(解決多值比較問題方法)
"高水線"算法:大水過后,最后一波浪消退時,高水線會標(biāo)示出所見過的最高水位。
下面看下"高水線"算法在Perl中的運(yùn)用。
#! /usr/bin/perl; use utf8; sub max { my($max_so_far) = shift @_; #數(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;
第一行對數(shù)組@_進(jìn)行shift操作,將一個元素2放到最大值$max_so_far變量中,@_中剩下的元素為(3,8,5,10),然后用foreach循環(huán)遍歷數(shù)組,新數(shù)組中的第一個元素3比2大,又被移到$max_so_far變量中,依次類推,最后10,就是數(shù)組中的最大元素。
相關(guān)文章
Perl中使用File::Lockfile確保腳本單實(shí)例運(yùn)行
這篇文章主要介紹了Perl中使用File::Lockfile確保腳本單實(shí)例運(yùn)行的方法,本文直接給出實(shí)例,方法非常簡單,需要的朋友可以參考下2014-11-11強(qiáng)大的Perl正則表達(dá)式實(shí)例詳解
正則表達(dá)式是Perl語言的特色,基本的語法不是很難,但是編寫一個符合需求、高效的正則表達(dá)式,還是有一些挑戰(zhàn)的。下面這篇文章主要給大家介紹了關(guān)于強(qiáng)大的Perl正則表達(dá)式的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11一篇文章搞懂:詞法作用域、動態(tài)作用域、回調(diào)函數(shù)及閉包
這篇文章主要給大家介紹了如何通過一篇文章搞懂:詞法作用域、動態(tài)作用域、回調(diào)函數(shù)及閉包的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-12-12