中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用php二分法查找數組是否包含某一元素

發布時間:2021-07-22 23:33:20 來源:億速云 閱讀:139 作者:chen 欄目:開發技術

本篇內容主要講解“怎么用php二分法查找數組是否包含某一元素”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用php二分法查找數組是否包含某一元素”吧!

二分法查找數組是否包含某一元素,兼容正反序,代碼實現:

復制代碼 代碼如下:


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


這個之前搜過,看過百度百科的例子(Java的實現),還有一些其他技術宅寫的Code,都有問題,根本就沒實現,這些人不測試就放出來誤導人,大家可以去搜搜看下,昨天閑來無事就自己寫一個分享給大家。
這個沒考慮非順序鍵的數組,主要是方法,如果需要大家可以自己擴展下。

到此,相信大家對“怎么用php二分法查找數組是否包含某一元素”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

会宁县| 昆明市| 合肥市| 乃东县| 荔波县| 大姚县| 五华县| 德清县| 鄂温| 平果县| 孟州市| 阳原县| 自贡市| 绩溪县| 思茅市| 西丰县| 资中县| 蓬溪县| 酒泉市| 金山区| 连州市| 雅江县| 太谷县| 洪洞县| 鄂托克前旗| 信宜市| 湘乡市| 九江市| 遂川县| 陈巴尔虎旗| 鹰潭市| 辽阳市| 瓦房店市| 玉屏| 陇西县| 大悟县| 奈曼旗| 施秉县| 怀仁县| 宝鸡市| 兴和县|