冒泡排序, 使用最低票价.---双重循环,一重移动次数.二重移动

public function arith(){
echo '<meta http-equiv="Content-type" content="text/html:charset=utf-8">';
echo '<pre>';
$array = array(11,-3,51,-9);  //最小值在最后面.移到最前面需要(数组总数-1)次移动
$flag = false;
var_dump($array);

for ($i = 1;$i < count($array);$i++){   //只负责移动的次数
    for ($j = 0;$j < count($array) - $i;$j++){
      if ($array[$j] > $array[$j + 1]){
        $temp = $array[$j]; //把大的放到临时变量
        $array[$j] = $array[$j + 1]; //把移动好的,再次放回原来数组
        $array[$j + 1] = $temp;
        $flag = true;
    }
}
var_dump($array);

if (!$flag){
break;
}
$flag = false;
}
foreach ($array as $value){
echo $value.'&nbsp ';
}
}

原文地址:https://www.cnblogs.com/bj-tony/p/5646476.html