|
|
|
ค้นหาข้อมูลในแอเรย์แบบเรียงลำดับ โค้ด binSerch ในบทเรียน ผมทดสอบแล้วเกิด Error ผมเลยลองดัดแปลงมาให้ดูใหม่ |
|
|
|
|
|
|
|
โค้ด 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 :
2723 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็น โค้ด เกี่ยวกับ เรื่องอะไรคะ รู้สึกว่า ถ้าเข้าใจไม่ผิด เป็นการสุ่มตัวเลขหนึ่งตัว แล้ว เรียงลำดับไป .....จำนวน ใช่ไม๊คะ แล้ว ประยุกต์ใช้กับการหาค่าเฉลี่ยได้ไม๊คะ หรือ ถ้าให้ดี ขอโค้ดการหาค่าเฉลี่ยด้วยค่ะ เช่น เกรดเฉลี่ย ฯลฯ คือ แบบว่า อ่อนวิชาคำนวณอ่ะค่ะ
|
|
|
|
|
Date :
11 ม.ค. 2549 10:40:15 |
By :
หมวยอิง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เกรดเฉลียก็คำนวน ปกติไม่ได้เหรอครับ ...........
+ - * / ธรรมดา
|
|
|
|
|
Date :
11 ม.ค. 2549 12:13:46 |
By :
นายต้นกล้วย |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นโค้ดการค้นหาตัวเลขแบบที่เรียงลำดับไว้ครับ เลขที่หาอยู่ที่ตัวแปร $serch ส่วน $sorted_array เป็น array ที่เก็บค่าตัวเลขของข้อมูลครับ เป็นโค้ดที่อยู่บนเวปไซต์นี้อยู่แล้ว ผมพบว่า มันรันไม่ได้ก็เลยแก้ไขแล้วก็ปรับปรุงให้ดูง่ายขึ้นครับ
อยากรู้ว่าเป็นอย่างไรก็ลอง copy ไป รันดูสิครับ
|
|
|
|
|
Date :
13 ม.ค. 2549 08:51:58 |
By :
goragod |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|