逐次探索 (番兵)

明解C言語 入門編 > 6. 関数 >

逐次探索 (番兵)

PHP
<?php
$NINSU  =  5;
$FAILED = -1;

function search($ary, $key, $no)
{
    global $FAILED;

    $ary[$no] = $key;

    $i = 0;
    while (1)
    {
        if ($ary[$i] == $key) break;
        $i++;
    }
    return ($i == $no ? $FAILED : $i + 1);
}

$ary = array(83, 55, 777, 499, 20);
$key = 18;
$idx = search($ary, $key, $NINSU);
if ($idx == $FAILED)
    print "$key は、見つかりませんでした。\n";
else
    print "$key は、$idx 番目にあります。\n";

$key = 499;
$idx = search($ary, $key, $NINSU);
if ($idx == $FAILED)
    print "$key は、見つかりませんでした。\n";
else
    print "$key は、$idx 番目にあります。\n";
?>

実行結果

L:\>php lesson_06_050.php
18 は、見つかりませんでした。
499 は、4 番目にあります。