首页 > 代码库 > 冒泡排序

冒泡排序

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);

  

冒泡排序