
検索アルゴリズムのひとつ、線分探索(リニアサーチ)を行うアルゴリズムをメモ。
※って言ってもめっちゃ簡単なんでメモする必要もないんですがw
<?php
class Search {
/*
* 線形探索を行う
* @return 探索値と一致する探索要素のキー、一致がなければNULL
*/
function linearSearch($targetArr, $searchNum) {
for ($i=0; $i<count($targetArr); $i++) {
if ($targetArr[$i] == $searchNum) {
return $i;
}
}
return NULL;
}
}
//検索値
$searchNum = 38;
//検索対象要素
$targetArr = array(38, 72, 93, 41, 5, 18, 35, 86, 49, 17, 73, 782, 190);
$keyNum = Search::linearSearch($targetArr, $searchNum);
if ($keyNum === NULL) {
echo "探索の該当はありません";
} else {
echo "探索結果は".$targetArr[$keyNum]."です";
}
終わり。