とあるエンジニアの闇歴史帳

コピペで使える便利Wiki ※現在構築中です。

ユーザ用ツール


perl:array_min

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

perl:array_min [2017/12/14 20:18]
perl:array_min [2020/06/23 14:10] (現在)
行 1: 行 1:
 +====== 配列内の最小値を取得する - Perl ======
 +~~socialite~~
 +<note important>この記事は2007年05月26日に書かれた物です</note>
 +
 +とあるリスト(配列)から最小値を取得するにはどうすれば良いだろうか?
 +いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
 +
 +===== サンプル =====
 +<code perl>
 +;#
 +;#最小値を抽出する
 +;#
 +
 +use strict;
 +use List::Util qw(min);
 +
 +#-----------------------------#
 +#         初期値の設定        #
 +#-----------------------------#
 +my @array = (3,4,6,8,1,2,5,7);    #1が最小値
 +
 +#-----------------------------#
 +#       最大値の取り出し      #
 +#-----------------------------#
 +print min1( @array ), "\n";
 +print min2( @array ), "\n";
 +print min3( @array ), "\n";
 +
 +
 +
 +
 +#------------------------------------------------
 +#■最小値を抽出する (その1)
 +#------------------------------------------------
 +sub min1 {
 +    my $min = shift;    #最初の値を入れる
 +
 +    #-- 渡された配列をすべてなめる --#
 +    foreach(@_){
 +        $min = $_ if( $min > $_ );    #現在よりも小さい値なら
 +                                      #入れ替える
 +    }
 +
 +    return( $min );
 +}
 +
 +
 +#------------------------------------------------
 +#■最小値を抽出する (その2)
 +#------------------------------------------------
 +sub min2 {
 +    #-- 昇順にソートし、一番最初の値を取り出す --#
 +    return(
 +        (sort {$a <=> $b} @_)[0]
 +    );
 +}
 +
 +
 +#------------------------------------------------
 +#■最小値を抽出する (その3)
 +#------------------------------------------------
 +sub min3 {
 +    #-- モジュールを利用(Perl5.8以降) --#
 +    return(
 +        List::Util::min(@_)
 +    );
 +}
 +</code>
 +
 +===== 関連書籍 =====
 +{{amazon>jp:4873113148}}
 +<html><p style="clear:both"></p></html>
 +
 +{{amazon>jp:4798139815}}
 +<html><p style="clear:both"></p></html>
 +
 +{{tag>CGI・Perl例文集 Perl 配列 リスト 最小値}}
 +~~socialite~~
  

関連ページ