国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

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

2024-05-04 21:53:44
字體:
來源:轉載
供稿:網友
二分法查找數組是否包含某一元素,兼容正反序,代碼實現:
復制代碼 代碼如下:www.CuoXIn.com

<?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,都有問題,根本就沒實現,這些人不測試就放出來誤導人,大家可以去搜搜看下,昨天閑來無事就自己寫一個分享給大家。
這個沒考慮非順序鍵的數組,主要是方法,如果需要大家可以自己擴展下。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泸定县| 灵川县| 广德县| 枣庄市| 基隆市| 杨浦区| 怀仁县| 济阳县| 东台市| 靖安县| 宁陵县| 龙门县| 武功县| 依兰县| 汶上县| 丰顺县| 河池市| 若羌县| 文安县| 福海县| 卫辉市| 武平县| 巴楚县| 泰和县| 陆丰市| 北川| 兰西县| 昭通市| 盐山县| 保德县| 温州市| 宜春市| 临城县| 庆安县| 房产| 赫章县| 罗定市| 屯留县| 延津县| 两当县| 资阳市|