二分查找PHP实现
Freigeben: 2016-07-25 08:46:12
Original
875 Leute haben es durchsucht
-
/**二分查找:查找一个值在数组中的位置
- * @$arr:操作的数组,前提是按顺序排列
- * @$val:查找的值
- * @$low:查找的起始位置,默认从数组的第一个数找起
- * @hight:查找的结束位置
- **/
- function binarySearch($arr, $val, $hight, $low=0){
- while($low $mid = ceil($low + ($hight - $low) / 2);
- if($arr[$mid] == $val){
- return $mid;
- }elseif($arr[$mid] > $val){
- $hight = $mid -1;
- }else{
- $low = $mid +1;
- }
- }
- return -1;
- }
- header('Content-Type:text/html; charset=utf-8');
-
- //产生一个数组
- $arr = range(0,20);
- echo '
'; Nach dem Login kopieren
- print_r($arr);
- echo '';
-
- $low = 0;
- $hight = count($arr) - 1;
- $findVal = rand(0, 20);
- $index = binarySearch($arr, $findVal, $hight, $low);
- printf("查找的值 '%d' 在数组中的下标 '%s'", $findVal, $index);
- ?>
复制代码
|
PHP
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31