
検索アルゴリズムのひとつ、線分探索(リニアサーチ)を行うアルゴリズムをメモ。
※って言ってもめっちゃ簡単なんでメモする必要もないんですが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) {
-
-
} else {
-
echo "探索結果は".
$targetArr[$keyNum].
"です";
-
}
終わり。