多次循环进行比较,每次比较时将最大数移动到最上面。每次循环时,找出剩余变量里的最大值,然后减小查询范围。这样经过多次循环以后,就完成了对这个数组的排序
复制代码 代码如下:
 
<?php 
/** 
* 冒泡排序 bubble sort 
* 
* 原理:多次循环进行比较,每次比较时将最大数移动到最上面。每次循环时,找出剩余变量里的最大值,然后减小查询范围。这样经过多次循环以后,就完成了对这个数组的排序 
*/ 
function sort_bubble($list) 
{ 
$len = count($list); 
if(empty($len)) return $list; 
for($i = 0;$i < $len; $i++) 
{ 
for($j = $i + 1; $j < $len; $j++) 
{ 
$flag = ''; 
if($list[$i] > $list[$j]) // 从小到大 
//if($list[$i] < $list[$j]) // 从大到小 
{ 
$tmp = $list[$i]; 
$list[$i] = $list[$j]; 
$list[$j] = $tmp; 
$flag = " change"; 
} 
echo implode(',',$list).$flag."<br/>"; 
} 
echo "-------------------------<br/>"; 
} 
return $list; 
} 
$list = array(4,3,2,1,5,7,3,7); 
$list = sort_bubble($list); 
您可能感兴趣的文章:
