php冒泡法和二分法
http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E
在应聘php程序员时候遇到的写冒泡法和二分法的php程序,代码如下
冒泡法:
<?
$forasp = array('1','4','6','7','22','9','12','234','158','0','17','66');
for($i=0;$i<count($forasp);$i++){
for($j=$i;$j<count($forasp);$j++){
if($forasp[$i]>$forasp[$j])
{
$temp = $forasp[$j];
$forasp[$j] = $forasp[$i];
$forasp[$i]=$temp;
}
}
}
var_dump($forasp);
?>
二分法:
<?php
$forasp = array('1','4','6','7','22','9','12','234','158','0','17','66');
sort($forasp);
function erfenfa($forasp,$findnum,$begin=0,$end=0){
$temp = array();
if(!in_array($findnum,$forasp))return "none";
if($end<=0)$end = count($forasp);
$temp_item = floor(($begin+$end)/2);
if($forasp[$temp_item]==$findnum){
return $temp_item+1;
}else if($forasp[$temp_item]>$findnum){
return erfenfa($forasp,$findnum,$begin,$temp_item);
}else{
return erfenfa($forasp,$findnum,$temp_item,$end);
}
}
echo erfenfa($forasp,'0');
?>
以上就是php常见面试考题,冒泡法,和二分法.