冒泡排序和一点优化(php)
function maopao($arr){ $len = count($arr);//获取数组的长度 //有多少个数组元素就最多就要排n-1次 for ($j=0;$j<$len-1;$j++){ $flag = true;//这个flag就是判断有没有进入里面的for,不进去就代表排好了,就直接退出当次循环 //没个元素比较的次数,当前面排过 j次时,就以为着这j次肯定是排好的 for ($i=0;$i<$len-1-$j;$i++){ if($arr[$i]>$arr[$i+1]){ $tmp = $arr[$i]; $arr[$i] = $arr[$i+1]; $arr[$i+1] = $tmp; $flag = false; } } if($flag){ break; } } return $arr; }