Perl實現(xiàn)高水線算法(解決多值比較問題方法)
更新時間:2015年06月15日 09:38:24 投稿:junjie
這篇文章主要介紹了Perl實現(xiàn)高水線算法(解決多值比較問題方法),從本文代碼示例中還可以學(xué)習(xí)到數(shù)組遍歷、函數(shù)寫法、函數(shù)調(diào)用等知識,需要的朋友可以參考下
"高水線"算法:大水過后,最后一波浪消退時,高水線會標(biāo)示出所見過的最高水位。
下面看下"高水線"算法在Perl中的運用。
#! /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確保腳本單實例運行
這篇文章主要介紹了Perl中使用File::Lockfile確保腳本單實例運行的方法,本文直接給出實例,方法非常簡單,需要的朋友可以參考下2014-11-11一篇文章搞懂:詞法作用域、動態(tài)作用域、回調(diào)函數(shù)及閉包
這篇文章主要給大家介紹了如何通過一篇文章搞懂:詞法作用域、動態(tài)作用域、回調(diào)函數(shù)及閉包的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-12-12