本文實例講述了PHP實現(xiàn)二維數(shù)組中的查找算法。分享給大家供大家參考,具體如下:
方法1:silu從左下角最后一行的第一個元素開始,遍歷。如果小于target 則遍歷該行的所有元素,找到結(jié)束。如果大于繼續(xù)往上一行進行。等于直接結(jié)束。
?php
function Find($target, $array)
{
$m_y = count($array['0']);
$m_x = count($array);
for($i=$m_x-1;$i>=0;$i--){
if($array[$i]['0'] $target){
for($j=1;$j$m_y;$j++){
if($array[$i][$j] == $target){
return 1;
break;
}
}
}
if($array[$i]['0'] == $target){
return 1;
break;
}
}
}
方法2:
function Find($target, $array)
{
$m_y = count($array['0']);
$m_x = count($array);
$i = 0;
for($i =$m_x-1,$j=0;$i>=0$j$m_y;){
if($array[$i][$j]$target){
$j++;
continue;
}
if($array[$i][$j]>$target){
$i--;
continue;
}
if($array[$i][$j] == $target){
return 1;
}
}
}
方法3:
function Find($target, $array)
{
$m_y = count($array['0']);
$m_x = count($array);
$i = $m_x-1;
$j = 0;
while(1){
if($array[$i][$j]$target){
$j++;
}
if($array[$i][$j]>$target){
$i--;
}
if($array[$i][$j] == $target){
return 1;
}
if($i == 0||$j == $m_y-1){
return 0;
}
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學運算技巧總結(jié)》
希望本文所述對大家PHP程序設(shè)計有所幫助。
您可能感興趣的文章:- PHP實現(xiàn)的AES 128位加密算法示例
- PHP實現(xiàn)二維數(shù)組按照指定的字段進行排序算法示例
- PHP實現(xiàn)基于3DES算法加密解密字符串示例
- PHP封裝的非對稱加密RSA算法示例
- 50個優(yōu)秀經(jīng)典PHP算法大集合 附源碼