PHP冒泡法排序与二分法查找实例
<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy6103')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy6103>
//冒泡法排序
//随便给出一个乱序数组
$arr = array(0,2,10,9,19,23,89,112,321,234);
//统计数组
$num = count($arr);
//冒泡倒序排列
for($i=0;$i<$num-1;$i ){
for($m=0;$m<$num-1;$m ){
if($arr[$m]<$arr[$m 1]){
$temp = $arr[$m];
$arr[$m] = $arr[$m 1];
$arr[$m 1] = $temp;
}
// echo $arr[$m].'<br>';
}
}
//输出排序后的结果
var_dump($arr);
//冒泡顺序排列
for($x=0;$x<$num-1;$x ){
for($y=0;$y<$num-1;$y ){
if($arr[$y]>$arr[$y 1]){
$temp = $arr[$y];
$arr[$y] = $arr[$y 1];
$arr[$y 1] = $temp;
}
}
}
//输出排序后的结果
var_dump($arr);
//二分法查找
function dichotomy($array,$k,$low=0,$high=0){
if(count($array)!= 0 && $high == 0){
$high = count($array);
}
if($low <= $high){
$mid = intval(($low $high)/2);
if( $array[$mid] == $k ){
return $mid;
}elseif( $k<$array[$mid]){
return dichotomy( $array,$k,$low=0,$mid-1);
}else{
return dichotomy( $array,$k,$mid 1,$high);
}
}else{
return false;
}
}
//输出查找结果
echo dichotomy($arr,23);
今天简单的研究了一下最常用的冒泡法排序与二分法查找,写了一个简单的案例,加强自己对php的学习
,也希望对今后php学习者能提供一点点的帮助。
您可能感兴趣的文章:
php 实现冒泡排序的简单例子
php 冒泡排序的实现代码
PHP冒泡法排序与二分法查找实例
php冒泡排序算法实现代码
php冒泡排序与快速排序的例子
php 数组排序方法分享(冒泡排序、选择排序)
PHP实现几个排序和查找算法
php冒泡排序的小例子
php选择排序算法实现代码
php排序算法 PHP版快速排序与冒泡排序