码迷,mamicode.com
首页 > 编程语言 > 详细

冒泡排序

时间:2014-12-15 21:46:53      阅读:228      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!