ホームページ  >  記事  >  バックエンド開発  >  PHP バイナリ メソッドを解析して配列に特定の要素が含まれているかどうかを確認する_PHP チュートリアル

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

WBOY
WBOYオリジナル
2016-07-21 15:10:24946ブラウズ

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

コードをコピー コードは次のとおりです:


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

関数 search(array $array, $value)
{
$max = count($array)-1;
$min = 0;
$isAscSort = $array[$min ] < $array[$ max];

while (TRUE) {
$sum = $min+$max;
$midKey = (int)($sum%2 == 1 ? ceil($sum/2) : $sum/2);
A if ($ max & lt; $ min) {
return -1; else if ($ value == $ array [$midkey]) {
return 1; else if ( $ 値 & $ 配列 MidKey]) {
' 11', '12'
);
// 順方向
echo search($array, $searchValue);

// 逆方向
rsort($array) ;
echo search($array, $searchValue);


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




http://www.bkjia.com/PHPjc/327121.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/327121.html
技術記事

配列に特定の要素が含まれているかどうかを確認するためのバイナリ メソッド (順方向および逆順と互換性があります) のコード実装: 次のようにコードをコピーします。 ?php $searchValue = (int)$_GET['key']; 、$va.. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。