99久久国产露脸精品麻豆,欧美日韩精品小说,亚洲免费在线美女视频,国产三级中文字幕,91极品国产情侣高潮对白,国产亚洲一区二区三区不卡片,欧美jizz精品欧美性,久久国产精品久久国产片

php二分查找、順序查找算法

袁志蒙 4685次瀏覽

摘要:php查找數組元素有內置的函數array_search和in_array,順序查找對數組排序沒有要求,二分查找法要求數組必須是一個有序數組!1.順序查找function sequence_search...

php查找數組元素有內置的函數array_search和in_array,順序查找對數組排序沒有要求,二分查找法要求數組必須是一個有序數組!

1.順序查找

function sequence_search($arr, $k){
	foreach($arr as $key=>$val){
		if($val==$k){
			return $key;
		}
	}
	return -1;
}

2.二分查找

思路分析:找到數組中間數,然后與要查找的數比較,如果要查找的數大于中間數,則說明要向后查找,否則向前查找,如果相等則說明已找到。

function binary_search($arr,$val,$left,$right){
	if($left > $right){
		return -1;
	}
	$middle = round(($left+$right)/2);
	if($arr[$middle]>$val){
		return binary_search($arr, $val, $left, $middle-1);
	}elseif($arr[$middle]<$val){
		return binary_search($arr, $val, $middle+1, $right);
	}else{
		return $middle;
	}
	
}

//定義被查找的數組(有序數組)
$arr = array(-3,-1,0,1,3,5,7);

//要查找的值
$val = 5;

echo  binary_search($arr, $val, 0, count($arr)-1);


隨機內容

表情

共0條評論
  • 這篇文章還沒有收到評論,趕緊來搶沙發吧~