<?php class test { public function halfsearch($arr,$target) { $min = 0; $max = count($arr); $mid = floor(($min+$max) / 2); while(true){ if($target > $arr[$mid]){ $min = $mid + 1; }elseif($target < $arr[$mid]){ $max = $mid -1; }else{ return $mid; } if($max < $min){ return -1; } $mid = floor(($min + $max) / 2); } } } $abc = new test(); $arr = [1,2,3,4,5,6,7,8,9,10]; $array = $abc->halfsearch($arr,1); echo $array; ?>
原文:https://www.cnblogs.com/Mr-Echo/p/12157749.html