配列に特定の要素が含まれているかどうかを確認する PHP バイナリ メソッド_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:17:43
オリジナル
1051 人が閲覧しました

配列に特定の要素が含まれているかどうかを確認するバイナリ メソッド、順方向および逆方向の順序と互換性がある、コード実装:

コードは以下のように表示されます。

$searchValue = (int)$_GET['key'];

関数検索(配列 $array, $value)
{
$max = count($array)-1;
$min = 0;
$isAscSort = $array[$min]
一方 (TRUE) {
$sum = $min+$max;
$midKey = (int)($sum%2 == 1 ? ceil($sum/2) : $sum/2);

if ($max -1 を返します;
} else if ($value == $array[$midKey]) {
1 を返します;
} else if ($value > $array[$midKey]) {
$isAscSort ? $min = $midKey+1 : $max = $midKey-1;
} else if ($value $isAscSort ? $max = $midKey-1 : $min = $midKey+1;
}
}
}

$array = 配列(
「4」、「5」、「7」、「8」、「9」、「10」、「11」、「12」
);
// 正のシーケンス
エコー検索($array, $searchValue);

// 逆順
rsort($array);
エコー検索($array, $searchValue);


私は以前これを検索し、Baidu Encyclopedia (Java の実装) の例を見たことがあります。また、他の技術マニアが書いたいくつかのコードには問題があり、人々を誤解させるためにテストを行わずにリリースしています。検索できます 検索したら、昨日は何もすることがなかったので、みんなに共有するために書きました。
この配列は非連続キーを考慮していません。これは主に必要に応じて拡張できるメソッドです。

www.bkjia.com本当http://www.bkjia.com/PHPjc/371967.html技術記事配列に特定の要素が含まれているかどうかを確認するためのバイナリ メソッド (順方向および逆順と互換性があります) コードの実装: コードは次のとおりです。 ?php $searchValue = (int)$_GET['key']; 、$value) { $max ...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート