标签:blog io ar 使用 for on div log cti
PHP冒泡排序,新菜鸟一枚
冒泡原理
【1】,【2】,【3】,【4】,【5】,【6】
排序原理解析,(从小到大)第一重循环,1和2比较,如果【1】>【2】,大的数在后面,交换【1】和【2】的值,如果【1】<【2】
直接【2】和【3】比较,以此类推、。第一轮循环走完之后,最大的数一定是在最后面。
第二层循环就是同第一个循环,但是只需要比到上一轮的最大的数前面一个就停止。
主要是循环控制的层数,第一层为cuont($array)-1,内层循环为count($array)-1-$i,其中$i为外层循环变量。
function bubblesort($array)
{
$n=count($array);
//需要外循环数字为N-1;
for($i=0;$i<$n-1;$i++)
{
//每循环一次之后,最大的数字跑到最下面,接下来最上面的数字,只需要比较的次数为
//N-1-$i,所以二层循环$j<N-1-$i;
for($j=0;$j<$n-1-$i;$j++)
{
if($array[$j]>$array[$j+1])
{
$var=$array[$j];
$array[$j]=$array[$j+1];
$array[$j+1]=$var;
}
}
}
//函数返回值为$array;否则结果为空,NULL
return $array;
}
$arr2=array(1.2,5,6,54,45,34.5);
if( is_array($arr2)){
echo "数组<br/>";
}
//print_r $arr2;
$arr3=bubblesort($arr2);
if( is_array($arr3)){
echo "数组";
}else{
echo "不是数组";
}
//var_dump函数的使用方法为var_dump(变量);
var_dump($arr3);
标签:blog io ar 使用 for on div log cti
原文地址:http://www.cnblogs.com/maodou/p/4165888.html