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

function search(array $array, $value) { $max = count($array)-1; $min = 0; $isA " /> 综合激情在线,欧日韩不卡在线视频,一区二区三区四区五区精品

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

解析php二分法查找數(shù)組是否包含某一元素

二分法查找數(shù)組是否包含某一元素,兼容正反序,代碼實(shí)現(xiàn):
復(fù)制代碼 代碼如下:
<?php

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

 function 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);

         if ($max < $min) {
             return -1;
         } else if ($value == $array[$midKey]) {
             return 1;
         } else if ($value > $array[$midKey]) {
             $isAscSort ? $min = $midKey+1 : $max = $midKey-1;
         } else if ($value < $array[$midKey]) {
             $isAscSort ? $max = $midKey-1 : $min = $midKey+1;
         }
     }
 }

 $array = array(
     '4', '5', '7', '8', '9', '10', '11', '12'
 );
 // 正序
 echo search($array, $searchValue);

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

這個(gè)之前搜過(guò),看過(guò)百度百科的例子(Java的實(shí)現(xiàn)),還有一些其他技術(shù)宅寫的Code,都有問(wèn)題,根本就沒(méi)實(shí)現(xiàn),這些人不測(cè)試就放出來(lái)誤導(dǎo)人,大家可以去搜搜看下,昨天閑來(lái)無(wú)事就自己寫一個(gè)分享給大家。
這個(gè)沒(méi)考慮非順序鍵的數(shù)組,主要是方法,如果需要大家可以自己擴(kuò)展下。

php技術(shù)解析php二分法查找數(shù)組是否包含某一元素,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 高密市| 宁武县| 南昌县| 永春县| 都江堰市| 昭觉县| 闵行区| 莆田市| 东城区| 吉木乃县| 东源县| 章丘市| 天镇县| 加查县| 汉沽区| 雅江县| 海晏县| 平顶山市| 黄骅市| 太原市| 万安县| 格尔木市| 安岳县| 赫章县| 吴堡县| 法库县| 金门县| 满城县| 盘山县| 贵定县| 津南区| 峨山| 景宁| 沙雅县| 崇文区| 拉萨市| 贺州市| 淮安市| 巧家县| 临猗县| 桂平市|