. 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列,要求执行效率高,并说明如何改善执行效率(该函数必须自己实现,不能使用php函数)。


function BubbleSort( & $arr)
{
$cnt = count( $arr);
$flag = 1;
for( $i = 0; $i < $cnt; $i ++)
{
if( $flag == 0)
{
return;
}
$flag = 0;
for( $j = 0; $j < $cnt - $i - 1; $j ++)
{
if( $arr [ $j ] > $arr [ $j + 1 ])
{
$tmp = $arr [ $j ];
$arr [ $j ] = $arr [ $j + 1 ];
$arr [ $j + 1 ] = $tmp;
$flag = 1;
}
}
}
}
$test = array( 1 , 3 , 6 , 8 , 2 , 7);
BubbleSort( $test);
echo "
"; 
   
var_dump( $test);
?>

你可能感兴趣的:(算法)