?? 70.php
字號:
<HTML>
<HEAD>
<TITLE>對分查找法</TITLE>
</HEAD>
<BODY><?
/*
定義一個函數(shù)
*/
function byName($left, $right)
{
return(strcmp($left[0], $right[0]));
}
/*
** 創(chuàng)建數(shù)組:Name, Title, Wage
*/
$employee[] = array("tom, John", "Programmer", 20);
$employee[] = array("jas, John", "Programmer", 20);
$employee[] = array("june, John", "Programmer", 20);
$employee[] = array("aili, John", "Programmer", 20);
$employee[] = array("Doe, Jane", "Programmer", 20);
$employee[] = array("Mann, Joe", "Manager", 35);
$employee[] = array("Smith, John", "CEO", 50);
$employee[] = array("Leeds, Al", "President", 100);
/*
** 排序
*/
usort($employee, "byName");
/*
** 查找對象
*/
$Name = "Mann, Joe";
$lower_limit = 0;
$upper_limit = count($employee) - 1;
while($lower_limit < $upper_limit)
{
/*
** 取得中間點(diǎn)
*/
$index = intval(($lower_limit + $upper_limit)/2);
if(strcmp($employee[$index][1], $Name) > 0)
{
/*
** 結(jié)果在上半部分
*/
$lower_limit = $index + 1;
}
elseif(strcmp($employee[$index][1], $Name) < 0)
{
/*
** 結(jié)果在下半部分
*/
$upper_limit = $index - 1;
}
else
{
/*
** 發(fā)現(xiàn)結(jié)果
*/
$lower_limit = $index;
$upper_limit = $index;
}
}
/*
** 打印結(jié)果
*/
print("Mann, Joe 在數(shù)組中的位置:"." $index<BR>\n");
?>
</BODY>
</HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -