原本是不准备写这篇文章的,但是我想把自己所知道的所有算法做个总结,对于基础的冒泡,不写的话,感觉有点歧视的意思,故作这篇博客
关于冒泡算法的网上有很多,我就不多做介绍,这边我主要为自己的博客大军充数而已,简单写一下,感兴趣的也可以看一下,保证言简意赅!
本人是忠实的php信仰者,so,你懂的!
public function test(){
$arr = array(2,4,5,7,4,23,2,1,6,7,4,3,1);
$count = count($arr);
for ($i = 0;$i<$count;$i++){
for($j=0;$j<$count-$i-1;$j++){
if($arr[$j]>$arr[$j+1]){
$temp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $temp;
}
}
}
}
运行完毕后会是从小到大的排序。冒泡排序是两两比较的,一个运行的结果就是最大的放到了最后,然后每一轮的循环,都是一个大的数排到了后面
关于效率:最好的就是一次就排好O(n),最差的就是O(n2)