 |
|
โค้ด binSerch ในบทเรียน ผมทดสอบแล้วเกิด Error ผมเลยลองดัดแปลงมาให้ดูใหม่
พร้อมตัวอย่างที่ดูจะเข้าใจง่ายกว่า
<?
function randInt($low, $high)
{
srand (date("s"));
$range = $high - $low;
$num = (rand() % $range) + $low;
return $num;
}
function binSearch($key,$array, $left, $right) {
$mid = ceil( ($left + $right) / 2 );
if ($left > $right)
return -1;
if ($array[$mid] == $key)
return $mid;
else if ($key < $array[$mid])
return binSearch($key, $array, $left, $mid-1); // recursive call
else
return binSearch($key, $array, $mid+1, $right); // recursive call
}
$num=100;
$key = randInt(0, $num);
for($i=0; $i < $num; $i++) {
$sorted_array[$i] = $key+$i;
}
$serch = 70;
$found = binSearch($serch, $sorted_array, 0, $num);
for($i=0; $i < $num; $i++) {
if ($i==$found)
echo ("<font color=red>".$sorted_array[$i]."</font><br>");
else
echo ($sorted_array[$i]."<br>");
}
?>
Tag : - - - -
|
|
 |
 |
 |
 |
Date :
10 ม.ค. 2549 20:50:55 |
By :
goragod |
View :
2749 |
Reply :
3 |
|
 |
 |
 |
 |
|
|
|
 |