/** * @title 冒泡排序 * @desc 在要排序的一组数中,对当前还未排好序的范围内的全部数, * 自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。 * 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 * @p
/** * @title 冒泡排序 * @desc 在要排序的一组数中,对当前还未排好序的范围内的全部数, * 自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。 * 即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。 * @param array $data * @return array $data * @author bandit */ function bubble_sort(array $data){ $length = count($data); for($i=$length;$i>1;$i--){ for($j=0;$j$data[$i+1]){ list($data[$i],$data[$j])=array($data[$j],$data[$j+1]); } } } return $data; } /** * @ttile 快速排序 * @desc * @param array $data * * @return array $data * @author bandit */ function quick_sort($data){ $front = $end = array(); $length = count($data); if($length <p>各种排序的稳定性,时间复杂度和空间复杂度总结:<br> <img alt="1342700879_2982" class="aligncenter size-full wp-image-699" style="max-width:90%" src="http://www.68idc.cn/help/uploads/allimg/150118/0G12RR7-0.jpg" style="max-width:90%"></p> <p> 时间复杂度函数O(n)的增长情况<br> <img alt="1342856655_3698" class="aligncenter size-full wp-image-701" style="max-width:90%" src="http://www.68idc.cn/help/uploads/allimg/150118/0G12UC8-1.jpg" style="max-width:90%"></p> <p>参考文档:http://blog.csdn.net/hguisu/article/details/7776068</p> <p class="copyright"> 原文地址:排序算法PHP实现[下], 感谢原作者分享。 </p>